:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f8fa;--paper-bright:#fff;--ink:#11151f;--ink-soft:#3a4252;--muted:#5f6979;--line:#e2e6ed;--line-strong:#c9d0db;--accent:#2b44c2;--wash:#e3e8fb;--glow:102 132 255;--font-display:"Newsreader", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-mincho:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-sans:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--font-mono:"Fragment Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--gutter:clamp(1.25rem, 5vw, 5rem);--rail:0px;--gap:clamp(.75rem, 2vw, 2rem);--header-h:4.25rem;--max:82rem}@media (min-width:1100px){:root{--rail:6.5rem}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem);-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.8;overflow-x:clip}h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}ol,ul{padding:0;list-style:none}img{max-width:100%;display:block}a{color:inherit;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}::selection{background:var(--wash);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}main:focus{outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper-bright);transition:transform .4s var(--ease-out);padding:.6rem 1rem;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.wrap{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}@media (min-width:1100px){.wrap{max-width:calc(var(--max) + var(--gutter) + var(--rail));padding-left:max(var(--gutter), var(--rail))}}.quiet-link{transition:color .4s var(--ease-soft);align-items:baseline;gap:.35em;text-decoration:none;display:inline-flex}.quiet-link>span:not(.arrow){transition:background-size .7s var(--ease-out);background:linear-gradient(currentColor,currentColor) 100% 100%/0% 1px no-repeat}.quiet-link:hover>span:not(.arrow),.quiet-link:focus-visible>span:not(.arrow){background-position-x:0;background-size:100% 1px}.arrow{transition:transform .6s var(--ease-out), opacity .4s;display:inline-block}a:hover>.arrow,a:focus-visible>.arrow{transform:translate(.15em,-.15em)}a:hover>.arrow-up,a:focus-visible>.arrow-up{transform:translateY(-.25em)}a[data-internal]:hover>.arrow,a[data-internal]:focus-visible>.arrow{transform:translate(.2em)}a:hover>.arrow-back,a:focus-visible>.arrow-back{transform:translate(-.2em)}.atmosphere{--mx:72vw;--my:30vh;z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.atmosphere-wash{background:radial-gradient(60% 55% at 88% -5%, #fffffff2, #fff0 70%), radial-gradient(45% 45% at 96% 8%, rgb(var(--glow) / .09), rgb(var(--glow) / 0) 70%), radial-gradient(55% 60% at -5% 105%, #7ec4e814, #7ec4e800 70%);position:absolute;inset:0}.atmosphere-glow{background:radial-gradient(closest-side, rgb(var(--glow) / .085), rgb(var(--glow) / .03) 45%, rgb(var(--glow) / 0) 100%);opacity:0;width:64rem;height:64rem;transform:translate3d(var(--mx), var(--my), 0);transition:opacity 1.4s var(--ease-soft);margin:-32rem 0 0 -32rem;position:absolute;top:0;left:0}.atmosphere-grid{opacity:0;transition:opacity 1.4s var(--ease-soft);-webkit-mask-image:radial-gradient(24rem 24rem at var(--mx) var(--my), #000 0%, #0006 40%, transparent 72%);-webkit-mask-image:radial-gradient(24rem 24rem at var(--mx) var(--my), #000 0%, #0006 40%, transparent 72%);mask-image:radial-gradient(24rem 24rem at var(--mx) var(--my), #000 0%, #0006 40%, transparent 72%);position:absolute;inset:0}.atmosphere[data-pointer] .atmosphere-glow,.atmosphere[data-pointer] .atmosphere-grid{opacity:1}.grid-columns{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));height:100%;display:grid}.grid-columns span{background-image:linear-gradient(#b1bcce66 1px,#0000 1px);background-size:100% 4rem;background-position:0 var(--scroll,0px);border-inline:1px solid #b1bcce80}.site-header{z-index:40;height:var(--header-h);position:fixed;top:0;left:0;right:0}.site-header:before{content:"";-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--line);opacity:0;transition:opacity .6s var(--ease-soft);background:#f7f8facc;position:absolute;inset:0}.site-header[data-scrolled]:before{opacity:1}.site-header-inner{height:100%;animation:settle-down 1.4s var(--ease-out) .15s both;align-items:center;gap:clamp(1rem,3vw,2.75rem);display:flex;position:relative}.site-mark{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;margin-right:auto;font-size:1.125rem;font-weight:450;text-decoration:none}.site-mark-short{display:none}.main-nav{gap:clamp(1.25rem,2.6vw,2.25rem);display:flex;position:relative}.main-nav a{color:var(--muted);letter-spacing:.03em;transition:color .4s var(--ease-soft);padding-block:.8rem;font-size:.8125rem;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=location]{color:var(--ink)}.nav-indicator,.language-indicator{pointer-events:none;width:0;height:1px;transition:transform .8s var(--ease-out), width .8s var(--ease-out), opacity .5s var(--ease-soft);position:absolute;left:0}.nav-indicator{background:var(--ink);bottom:.55rem}.nav-indicator[data-hidden]{opacity:0}.language-switch{margin-right:-.55rem;display:flex;position:relative}.language-switch button{min-width:2.5rem;min-height:2.75rem;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;transition:color .4s var(--ease-soft);background:0 0;border:0;padding:0 .55rem;font-size:.75rem}.language-switch button:hover,.language-switch button[aria-pressed=true]{color:var(--ink)}.language-indicator{background:var(--accent);bottom:.7rem}.header-progress{background:var(--ink);width:100%;height:1px;transform:scaleX(var(--progress,0));transform-origin:0;position:absolute;bottom:-1px;left:0}@media (min-width:1100px){.header-progress{display:none}}.bookmark{z-index:30;top:calc(var(--header-h) + 2.25rem);width:var(--rail);animation:rail-in 1.8s var(--ease-out) .5s both;display:none;position:fixed;bottom:2.75rem;left:0}@media (min-width:1100px){.bookmark{display:block}}.bookmark-track{background:var(--line-strong);width:1px;position:absolute;top:0;bottom:0;left:2.5rem}.bookmark-fill{background:var(--ink);transform:scaleY(var(--progress,0));transform-origin:50% 0;position:absolute;inset:0}.bookmark li{top:calc(var(--at) * 100%);position:absolute;left:0}.bookmark li a{color:var(--muted);align-items:center;gap:.6rem;padding:.4rem .75rem .4rem 0;text-decoration:none;display:flex;position:absolute;top:0;left:-.35rem;transform:translateY(-50%)}.bookmark-tick{width:.7rem;height:1px;transition:width .5s var(--ease-out), background-color .4s;background:currentColor}.bookmark-label{font-family:var(--font-mono);letter-spacing:.04em;opacity:0;transition:opacity .45s var(--ease-soft), transform .6s var(--ease-out);font-size:.6875rem;transform:translate(-.35rem)}.bookmark li[data-current] a{color:var(--ink)}.bookmark:hover .bookmark-label,.bookmark:focus-within .bookmark-label{opacity:1;transform:none}.bookmark li a:hover,.bookmark li a:focus-visible{color:var(--accent)}.bookmark li a:hover .bookmark-tick{width:1.1rem}.bookmark-marker{pointer-events:none;transform:translate3d(-3.5px, calc(var(--y,0px) - 50%), 0);align-items:center;gap:.7rem;display:flex;position:absolute;top:0;left:0}.bookmark-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px rgb(var(--glow) / .16), 0 0 18px 2px rgb(var(--glow) / .35);border-radius:50%}.odometer{color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;opacity:0;transition:opacity .6s var(--ease-soft);font-size:.75rem;line-height:1;display:flex}.bookmark[data-active] .odometer{opacity:1}.bookmark:hover .odometer,.bookmark:focus-within .odometer{opacity:0}.odometer-wheel{height:1em;display:block;overflow:hidden}.odometer-strip{transform:translateY(calc(var(--digit) * -1em));transition:transform 1.2s var(--ease-out) calc(var(--i) * 70ms);flex-direction:column;display:flex}.odometer-strip>span{height:1em}.hero{min-height:100svh;padding-top:calc(var(--header-h) + clamp(1.5rem, 6vh, 4.5rem));padding-bottom:clamp(2.5rem,8vh,5.5rem);display:flex;position:relative;overflow:clip}.hero-grid{column-gap:var(--gap);grid-template-rows:1fr auto auto;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:". . . . . . .kanji photo photo photo photo""name name name name name name name name photo photo photo photo""meta meta meta meta meta meta meta.photo photo photo photo";align-items:end;display:grid;position:relative}.hero-name{z-index:1;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.035em;grid-area:name;margin-bottom:clamp(1.5rem,4vh,2.5rem);font-size:clamp(3.4rem,9.2vw,8.75rem);font-weight:330;line-height:.9;position:relative}.name-line{white-space:nowrap;margin-block:-.2em -.16em;padding-block:.2em .16em;display:block;overflow:clip}.name-line+.name-line{padding-left:.55em}.char{display:inline-block}.char>span{animation:rise 1.5s var(--ease-out) calc(.3s + var(--i) * 45ms) both, focus-sweep 1.5s var(--ease-in-out) calc(1.3s + var(--i) * 60ms);display:inline-block}.hero-kanji{font-family:var(--font-mincho);letter-spacing:.34em;writing-mode:vertical-rl;grid-area:kanji;place-self:start end;margin-top:.25rem;font-size:clamp(1.2rem,1.75vw,1.75rem);font-weight:500;line-height:1}.hero-kanji span{animation:come-into-focus 1.6s var(--ease-soft) calc(.9s + var(--i) * .11s) both;display:inline-block}.hero-portrait{grid-area:photo;align-self:start;position:relative}.hero-portrait:after{content:"";pointer-events:none;--mark:var(--line-strong);background:linear-gradient(var(--mark), var(--mark)) 0 0 / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 0 0 / 1px .8rem no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 0 / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 0 / 1px .8rem no-repeat, linear-gradient(var(--mark), var(--mark)) 0 100% / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 0 100% / 1px .8rem no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 100% / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 100% / 1px .8rem no-repeat;animation:fade 1.2s var(--ease-soft) 1.7s both;position:absolute;inset:-.9rem}.portrait-frame{aspect-ratio:4/5;animation:unveil 1.7s var(--ease-in-out) .35s both;background:#dfe5ee;position:relative;overflow:hidden}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#ffffff1a,#fff0 40%,#11151f14);position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:50% 28%;filter:saturate(.88)contrast(1.02);width:100%;height:100%;animation:develop 2.6s var(--ease-out) .35s both;scale:1.22}.hero-meta{grid-area:meta}.hero-role{font-family:var(--font-display);letter-spacing:.02em;font-feature-settings:"palt";animation:settle-up 1.2s var(--ease-out) 1.35s both;font-size:clamp(1.05rem,1.35vw,1.25rem);font-weight:500;line-height:1.6}.hero-links{flex-wrap:wrap;gap:.25rem 1.75rem;margin-top:1.1rem;font-size:1.0625rem;display:flex}.hero-links li{animation:settle-up 1.1s var(--ease-out) calc(1.5s + var(--i) * 70ms) both}.hero-links a{min-height:2.75rem;color:var(--ink-soft);align-items:center}.hero-links a:hover{color:var(--accent)}.hero-links .arrow{color:var(--muted);font-size:.8em}.hero-cue{left:var(--gutter);background:var(--line);width:1px;height:3.25rem;opacity:calc(1 - var(--hero-progress,0) * 6);animation:fade 1s var(--ease-soft) 2.2s both;position:absolute;bottom:calc(-1*clamp(2.5rem,8vh,5.5rem) + .5rem);overflow:hidden}@media (min-width:1100px){.hero-cue{left:max(var(--gutter), var(--rail))}}.hero-cue:after{content:"";background:var(--ink);animation:trickle 2.6s var(--ease-in-out) 2.4s infinite;position:absolute;inset:0}.section,.site-footer{position:relative;overflow-x:clip}.section{padding-top:clamp(6rem,16vh,11rem)}.section-head{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;margin-bottom:clamp(2rem,6vh,3.5rem);display:grid}.section-title{font-family:var(--font-display);letter-spacing:-.045em;grid-area:1/1/auto/span 8;margin-block:-.2em -.12em;padding-block:.2em .12em;font-size:clamp(3.5rem,11vw,10rem);font-weight:280;line-height:.88;overflow:visible clip}.section-title>span{display:inline-block}.section-aside{grid-area:1/9/auto/-1;gap:.35rem;padding-bottom:.9rem;display:grid}.section-kicker{font-family:var(--font-mincho);letter-spacing:.12em;font-size:1.125rem;font-weight:500}.section-note{color:var(--muted);font-size:.875rem;line-height:1.7}.section-count{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;font-size:.75rem}.works-toolbar{z-index:20;top:var(--header-h);padding-block:.35rem;position:sticky}.works-toolbar:before{content:"";-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);background:#f7f8fad1;position:absolute;inset:0}.works-toolbar>.wrap{position:relative}.filter{flex-wrap:wrap;gap:0 clamp(1.25rem,3vw,2.5rem);display:flex;position:relative}.filter button{min-height:2.75rem;color:var(--muted);font-family:var(--font-display);transition:color .4s var(--ease-soft);background:0 0;border:0;align-items:flex-start;gap:.2rem;padding:.55rem 0;font-size:1.25rem;font-weight:400;line-height:1.3;display:inline-flex}.filter button:lang(ja),:lang(ja) .filter button{font-family:var(--font-mincho);letter-spacing:.06em;font-size:1.0625rem}.filter button:hover,.filter button[aria-pressed=true]{color:var(--ink)}.filter-count{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;font-size:.625rem;line-height:1}.filter-indicator{background:var(--accent);height:1px;transition:transform .8s var(--ease-out), width .8s var(--ease-out);position:absolute;bottom:.45rem;left:0}.works-list{scroll-margin-top:calc(var(--header-h) + 4.5rem);border-bottom:1px solid var(--line)}.work{column-gap:var(--gap);scroll-margin-top:calc(var(--header-h) + 4.5rem);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"meta meta body body body body body body body body. .";padding-block:clamp(1.75rem,3.2vw,2.6rem);display:grid;position:relative}.work-book{grid-template-areas:"meta meta body body body body body body body.cover cover"}.work:before,.work:after,.school:before,.footer-links li:before,.footer-links li:after{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.work:after,.footer-links li:after{background:var(--ink);transition:transform .9s var(--ease-out);transform:scaleX(0)}.work:hover:after,.work:focus-within:after,.footer-links li:hover:after,.footer-links li:focus-within:after{transform:scaleX(1)}.work-meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;flex-direction:column;grid-area:meta;gap:.3rem;padding-top:.45rem;font-size:.75rem;line-height:1.4;display:flex}.work-meta time{color:var(--ink);font-variant-numeric:tabular-nums}.work-type{font-family:var(--font-sans);letter-spacing:.06em;align-items:center;gap:.5rem;display:inline-flex}.work-type:before{content:"";background:currentColor;width:.9rem;height:1px}.work-body{grid-area:body;min-width:0}.work-title{font-family:var(--font-display);letter-spacing:-.005em;text-wrap:pretty;word-break:auto-phrase;font-feature-settings:"palt";font-size:clamp(1.25rem,1.85vw,1.6rem);font-weight:420;line-height:1.5}.work-title a{background:linear-gradient(var(--wash), var(--wash)) no-repeat 0 90% / 0% .5em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s var(--ease-out), color .4s var(--ease-soft);text-decoration:none}.work-title a:hover,.work-title a:focus-visible{background-size:100% .5em}.work-title .arrow{color:var(--accent);opacity:0;margin-left:.3em;font-size:.7em}.work-title a:hover .arrow,.work-title a:focus-visible .arrow{opacity:1}.work-subtitle{color:var(--ink-soft);font-family:var(--font-mincho);margin-top:.2rem;font-size:1rem;font-weight:500}.work-authors{color:var(--muted);margin-top:.75rem;font-size:.875rem;line-height:1.75}.work-authors strong{color:var(--ink);background:linear-gradient(transparent 62%, var(--wash) 62%);font-weight:500}.work-venue{color:var(--ink-soft);margin-top:.6rem;font-size:.9375rem;line-height:1.7}.work-facts{flex-wrap:wrap;gap:.5rem 2.25rem;margin-top:.9rem;display:flex}.work-facts dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;font-size:.6875rem}.work-facts dd{font-variant-numeric:tabular-nums;font-size:.9375rem}.work-links{font-family:var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;gap:0 1.75rem;margin-top:.6rem;font-size:.875rem;display:flex}.work-links a{min-height:2.5rem;color:var(--ink-soft);align-items:center}.work-links a:hover{color:var(--accent)}.work-cover{perspective:900px;grid-area:cover;justify-self:end;width:min(100%,9.5rem)}.cover{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .9s var(--ease-out), box-shadow .9s var(--ease-out);border-radius:2px 4px 4px 2px;position:relative;box-shadow:0 1px 2px #11151f14,0 24px 44px -24px #11151f80}.cover img{border-radius:inherit;width:100%;height:auto}.cover:before,.cover:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.cover:before{background:linear-gradient(90deg,#00000029,#ffffff38 3%,#0000000d 6%,#0000 10%)}.cover:after{background:radial-gradient(circle at var(--gx,30%) var(--gy,10%), #ffffff8c, #fff0 55%);mix-blend-mode:soft-light;opacity:0;transition:opacity .6s var(--ease-soft)}.cover:hover{box-shadow:0 2px 4px #11151f14,0 36px 60px -28px #11151f8c}.cover:hover:after{opacity:1}.schools{border-bottom:1px solid var(--line)}.school{column-gap:var(--gap);scroll-margin-top:calc(var(--header-h) + 1rem);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:clamp(2rem,5vw,3.75rem);display:grid;position:relative}.school-year{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:lining-nums;grid-column:1/span 4;margin-block:-.16em -.1em;padding-block:.16em .1em;font-size:clamp(3.25rem,7.5vw,6.5rem);font-weight:260;line-height:.95;display:flex;overflow:clip}.school-year span{display:inline-block}.school-body{grid-column:6/span 7;padding-top:.6rem}.school h3{font-family:var(--font-display);font-feature-settings:"palt";font-size:clamp(1.4rem,2.3vw,2rem);font-weight:450;line-height:1.4}.school p{color:var(--ink-soft);margin-top:.5rem;font-size:1rem;line-height:1.75}.school .school-degree{color:var(--muted);letter-spacing:.08em;align-items:center;gap:.6rem;margin-top:.9rem;font-size:.8125rem;display:flex}.school .school-degree:before{content:"";background:currentColor;width:1.25rem;height:1px}.site-footer{padding-top:clamp(6rem,16vh,11rem);padding-bottom:2.5rem}.footer-links{border-bottom:1px solid var(--line)}.footer-links li{position:relative}.footer-links a{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;padding-block:clamp(.9rem,1.8vw,1.35rem);text-decoration:none;display:grid}.footer-link-label{font-family:var(--font-display);letter-spacing:-.02em;transition:transform .9s var(--ease-out), color .5s var(--ease-soft);grid-column:1/span 7;font-size:clamp(1.6rem,3.6vw,3rem);font-weight:300;line-height:1.15}.footer-link-host{color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;grid-column:9/span 3;font-size:.75rem}.footer-links .arrow{color:var(--muted);grid-column:12;justify-self:end;font-size:1.25rem}.footer-links a:hover .footer-link-label,.footer-links a:focus-visible .footer-link-label{color:var(--accent);transform:translate(clamp(.5rem,1.5vw,1.25rem))}.footer-links a:hover .arrow{color:var(--accent)}.colophon{color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(3rem,8vh,5rem);font-size:.75rem;display:flex}.colophon a{align-items:center;min-height:2.75rem}.colophon a:hover{color:var(--ink)}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;filter:blur(8px);transition:opacity 1.1s var(--ease-soft) var(--stagger,0s), filter 1.1s var(--ease-soft) var(--stagger,0s), transform 1.4s var(--ease-out) var(--stagger,0s);transform:translateY(1.75rem)}.js [data-reveal][data-inview],.js [data-reveal=rise]{opacity:1;filter:none;transform:none}.js [data-reveal=rise]>span{transition:transform 1.6s var(--ease-out) var(--stagger,0s);transform:translateY(140%)}.js [data-reveal=rise][data-inview]>span{transform:none}.js .work[data-reveal]:before,.js .school[data-reveal]:before,.js .footer-links li[data-reveal]:before{transition:transform 1.6s var(--ease-out) var(--stagger,0s);transform:scaleX(0)}.js [data-reveal][data-inview]:before{transform:none}.js .school[data-reveal] .school-year span{transition:transform 1.3s var(--ease-out) calc(var(--stagger,0s) + .15s + var(--i) * 80ms);transform:translateY(130%)}.js .school[data-inview] .school-year span{transform:none}.js [data-inview=filter]{transition:none}}.vt .work{view-transition-name:var(--vt)}.vt .site-header{view-transition-name:site-header}.vt .bookmark{view-transition-name:bookmark}.vt .works-toolbar{view-transition-name:works-toolbar}::view-transition-group(*){animation-duration:.8s;animation-timing-function:var(--ease-out)}::view-transition-group(site-header){z-index:3}::view-transition-group(bookmark){z-index:3}::view-transition-group(works-toolbar){z-index:2}::view-transition-old(root){animation:.4s var(--ease-soft) both vt-fade-out}::view-transition-new(root){animation:.7s var(--ease-soft) .1s both vt-fade-in}::view-transition-old(*):only-child{animation:.4s var(--ease-soft) both vt-leave}::view-transition-new(*):only-child{animation:.8s var(--ease-out) .15s both vt-enter}@keyframes rise{0%{transform:translateY(140%)}}@keyframes focus-sweep{0%,to{font-weight:330}45%{font-weight:540}}@keyframes come-into-focus{0%{opacity:0;filter:blur(10px);transform:translateY(-.35em)}}@keyframes unveil{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes develop{0%{filter:saturate(0)contrast(.9)brightness(1.25);scale:1.45}}@keyframes settle-up{0%{opacity:0;transform:translateY(.9rem)}}@keyframes settle-down{0%{opacity:0;transform:translateY(-.75rem)}}@keyframes rail-in{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(-2rem -10rem -2rem -1rem)}}@keyframes fade{0%{opacity:0}}@keyframes trickle{0%{transform:translateY(-100%)}55%,to{transform:translateY(100%)}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-leave{to{opacity:0;filter:blur(6px);transform:scale(.985)}}@keyframes vt-enter{0%{opacity:0;filter:blur(6px);transform:translateY(1rem)}}@media (max-width:960px){.hero-grid{grid-template-rows:auto auto auto;grid-template-areas:". . . . .kanji photo photo photo photo photo photo""name name name name name name name name name name name name""meta meta meta meta meta meta meta meta meta meta meta meta";row-gap:0}.hero-name{margin-top:clamp(1.75rem,5vh,3rem);font-size:clamp(3rem,13.2vw,8rem)}.section-title{grid-column:1/-1}.section-aside{grid-area:2/1/auto/-1;margin-top:1.25rem;padding-bottom:0}.work{grid-template-areas:"meta meta meta body body body body body body body body body"}.work-book{grid-template-areas:"meta meta meta body body body body body body body cover cover"}.work-cover{width:100%}.school-year{grid-column:1/span 5}}@media (max-width:640px){:root{--header-h:3.75rem}.site-mark-full,.nav-profile{display:none}.site-mark-short{letter-spacing:.02em;display:inline}.main-nav{gap:1.1rem}.hero{min-height:auto;padding-top:calc(var(--header-h) + 1.75rem);padding-bottom:4.5rem}.hero-grid{grid-template-areas:". . .kanji photo photo photo photo photo photo photo photo""name name name name name name name name name name name name""meta meta meta meta meta meta meta meta meta meta meta meta"}.hero-kanji{letter-spacing:.3em;font-size:1.15rem}.hero-portrait:after{inset:-.6rem}.hero-name{font-size:15.4vw}.name-line+.name-line{padding-left:0}.hero-cue{display:none}.section-title{font-size:18vw}.filter{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filter button{flex-shrink:0}.work,.work-book{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta cover""body body";row-gap:.9rem}.work-meta{flex-direction:row;gap:1rem;padding-top:0}.work-cover{grid-row:1/span 2;align-self:start;width:5.5rem}.work-book .work-body{grid-area:2/1}.school{row-gap:.75rem}.school-year,.school-body{grid-column:1/-1}.school-body{padding-top:0}.footer-link-host{display:none}.footer-link-label{grid-column:1/span 10}}.talk-page{--rail:0px}.talk{padding-top:calc(var(--header-h) + .75rem)}.talk-column{width:min(100% - var(--gutter) * 2, max(36rem, (100svh - var(--header-h) - 12rem) * var(--aspect,1.7778)));margin-inline:auto}.talk-crumbs{min-height:2.75rem;color:var(--ink-soft);animation:settle-down 1.1s var(--ease-out) .1s both;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.talk-crumbs a{align-items:center;min-height:2.75rem}.talk-crumbs a:hover{color:var(--accent)}.talk-crumb-meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;gap:1rem;font-size:.75rem;display:flex}.talk-stage{aspect-ratio:var(--aspect,1.7778);background:var(--paper-bright);box-shadow:0 0 0 1px var(--line), 0 14px 28px -20px #11151f2e, 0 48px 90px -56px #11151f80;scroll-margin-top:calc(var(--header-h) + 1rem);animation:settle-up 1.3s var(--ease-out) .2s both;margin-top:.5rem;position:relative}.talk-stage:after{content:"";pointer-events:none;--mark:var(--line-strong);background:linear-gradient(var(--mark), var(--mark)) 0 0 / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 0 0 / 1px .8rem no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 0 / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 0 / 1px .8rem no-repeat, linear-gradient(var(--mark), var(--mark)) 0 100% / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 0 100% / 1px .8rem no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 100% / .8rem 1px no-repeat, linear-gradient(var(--mark), var(--mark)) 100% 100% / 1px .8rem no-repeat;animation:fade 1.2s var(--ease-soft) 1s both;position:absolute;inset:-.9rem}.talk-stage iframe{opacity:0;border:0;width:100%;height:100%;position:absolute;inset:0}.talk-stage[data-status=ready] iframe{opacity:1;animation:unveil 1.3s var(--ease-in-out) both}.talk-stage-message{color:var(--muted);text-align:center;place-content:center;gap:.5rem;padding:1.5rem;font-size:.9375rem;display:grid;position:absolute;inset:0}.talk-loading{font-family:var(--font-mono);letter-spacing:.08em;padding-bottom:.9rem;font-size:.75rem;position:relative}.talk-loading:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:1px;animation:scan 1.6s var(--ease-in-out) infinite;background-repeat:no-repeat;background-size:50% 100%;position:absolute;bottom:0;left:20%;right:20%}.talk-stage-dev{font-family:var(--font-mono);font-size:.75rem}.deck-controls{animation:settle-up 1.1s var(--ease-out) .45s both;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-top:1.1rem;display:grid}.deck-pager{align-items:center;gap:.4rem;display:flex}.deck-pager button{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--ink);transition:border-color .3s var(--ease-soft), background-color .3s var(--ease-soft), opacity .3s var(--ease-soft);background:#fff9;border-radius:50%;padding:0;font-size:1rem;line-height:1}.deck-pager button:hover:not(:disabled){border-color:var(--ink);background:var(--paper-bright)}.deck-pager button:disabled{cursor:default;opacity:.35}.deck-count{min-width:5.25rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;font-size:.875rem}.deck-total{color:var(--muted)}.deck-progress{background:var(--line);height:1px;position:relative;overflow:hidden}.deck-progress:after{content:"";background:var(--accent);transform:scaleX(var(--progress,0));transform-origin:0;transition:transform .9s var(--ease-out);position:absolute;inset:0}.deck-actions{white-space:nowrap;gap:1.5rem;font-size:.875rem;display:flex}.deck-actions .quiet-link{min-height:2.75rem;color:var(--ink-soft);background:0 0;border:0;align-items:center;padding:0}.deck-actions .quiet-link:hover{color:var(--accent)}.deck-actions button:disabled{cursor:default;opacity:.35}.deck-hint{color:var(--muted);margin-top:.25rem;font-size:.8125rem;line-height:1.7}.talk-head{margin-top:clamp(3rem,9vh,5.5rem)}.talk-title{font-family:var(--font-display);letter-spacing:-.01em;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase;font-size:clamp(2rem,4.2vw,3.5rem);font-weight:400;line-height:1.3}.talk-subtitle{color:var(--ink-soft);font-family:var(--font-mincho);font-feature-settings:"palt";margin-top:.6rem;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:500}.talk-event{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.25rem 1.75rem;margin-top:1.25rem;font-size:1rem;display:flex}.talk-links{font-family:var(--font-mono);letter-spacing:.04em;gap:1.5rem;font-size:.875rem;display:inline-flex}.talk-links a{align-items:center;min-height:2.75rem}.talk-links a:hover{color:var(--accent)}.talk-contents{border-top:1px solid var(--line);margin-top:clamp(3rem,8vh,5rem);padding-top:1.5rem}.talk-contents h2{font-family:var(--font-display);letter-spacing:.08em;margin-bottom:.9rem;font-size:1.125rem;font-weight:500}.talk-contents ol{columns:3 15rem;column-gap:clamp(1.5rem,4vw,3.5rem)}.talk-contents li{break-inside:avoid}.talk-contents button{width:100%;min-height:2.5rem;color:var(--ink-soft);text-align:left;transition:color .35s var(--ease-soft);background:0 0;border:0;align-items:baseline;gap:.9rem;padding:.4rem 0;font-size:.9375rem;line-height:1.55;display:flex}.talk-contents button:hover:not(:disabled){color:var(--ink)}.talk-contents button:disabled{cursor:default}.talk-contents-no{min-width:1.4rem;color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem}.talk-contents-title{background:linear-gradient(var(--wash), var(--wash)) no-repeat 0 90% / 0% .45em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .7s var(--ease-out)}.talk-contents button:hover:not(:disabled) .talk-contents-title{background-size:100% .45em}.talk-contents button[aria-current=page],.talk-contents button[aria-current=page] .talk-contents-no{color:var(--accent)}.talk-footer{padding:clamp(4.5rem,12vh,8rem) 0 2.5rem}.talk-footer .colophon{margin-top:0}@keyframes scan{0%{background-position:-100% 0}to{background-position:200% 0}}@media (max-width:640px){.talk-crumb-meta{gap:.75rem}.deck-controls{gap:.25rem 1rem}.deck-actions{grid-column:1/-1;gap:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.atmosphere-glow,.atmosphere-grid{display:none}}@media print{.atmosphere,.site-header,.bookmark,.skip-link,.hero-cue,.works-toolbar{display:none!important}[data-reveal],[data-reveal]>span,.school-year span{opacity:1!important;filter:none!important;transform:none!important}.hero{min-height:auto}}
