.not-found{min-height:100vh;display:grid;place-items:center;justify-content:center;overflow:hidden}.not-found__inner{width:min(960px,100%);opacity:0;animation:not-found-fade .3s ease-in-out forwards}.not-found__card{overflow:hidden}.not-found__file-meta{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--accent-blue, #1178ff)}.not-found__lines{padding:16px;display:flex;flex-direction:column;gap:2px;overflow:auto}.not-found__line{display:grid;grid-template-columns:0px minmax(0,1fr);gap:16px;align-items:start;font-family:SuisseIntlMono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.6;color:var(--text-primary, #2f3540)}.not-found__line-number{text-align:right;color:var(--text-muted, rgba(47, 53, 64, .5));font-variant-numeric:tabular-nums}.not-found__line-code{white-space:pre;font-variant-ligatures:none}@media(prefers-reduced-motion:reduce){.not-found__inner{animation:none;opacity:1;transform:none}}@keyframes not-found-fade{to{opacity:1}}.container{position:relative;width:100vw;min-height:120vh;overflow:hidden}.header{margin:16px;display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:24px;font-size:13px;animation:header-animation 1s ease forwards}.header-card{padding:4px;background-color:#fff;box-shadow:#0e3f7e0f 0 0 0 1px,#2a334608 0 1px 1px -.5px,#2a33460a 0 2px 2px -1px,#2a33460a 0 3px 3px -1.5px,#2a334608 0 5px 5px -2.5px,#2a334608 0 10px 10px -5px,#2a334608 0 24px 24px -8px;display:flex;flex-direction:column;gap:2px;will-change:transform,z-index;transition:.2s ease;display:inline-block}@keyframes header-animation{0%{opacity:0}to{opacity:1}}@media only screen and (max-width:952px){.currently-container{display:none!important}}@media only screen and (max-width:796px){.works-index-container,.works-index{display:none!important}}.card-container{cursor:grab;position:relative}.card-container:active{cursor:grabbing}.card{will-change:transform,filter;padding:2px 4px 4px;background-color:#01010105;border-radius:8px;box-shadow:#0e3f7e0f 0 0 0 1px,#2a334608 0 1px 1px -.5px,#2a33460a 0 2px 2px -1px,#2a33460a 0 3px 3px -1.5px,#2a334608 0 5px 5px -2.5px,#2a334608 0 10px 10px -5px,#2a334608 0 24px 24px -8px;display:flex;flex-direction:column;gap:2px;will-change:transform,z-index;transition:.2s ease;display:inline-block}.card img{display:block}html[data-theme=dark] .card{background-color:#ffffff14;border:1px solid rgba(255,255,255,.12);box-shadow:none}@media(hover:hover)and (pointer:fine){.card:hover{transform:translateY(-4px)}}.card:active{scale:1.01;box-shadow:#091e4240 0 4px 8px -2px,#091e4214 0 0 0 1px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.card-header{display:flex;flex-direction:row;justify-content:space-between;margin:4px 4px 6px}.card-link{display:flex;flex-direction:row;gap:8px;align-items:baseline;transition:.2s ease;cursor:pointer}@media(hover:hover)and (pointer:fine){.card-link:hover{gap:10px;opacity:.5}}@media only screen and (max-width:576px){.card{scale:.8}.card:active{scale:.81}}.card-name{color:#000;width:fit-content;font-size:12px;text-decoration:none}html[data-theme=dark] .card-name{text-shadow:0px 1px 2px rgba(0,0,0,.5)}html[data-theme=dark] .card-name{color:#fff}@keyframes rotate{to{rotate:1turn}}.disc{animation:rotate 10s linear infinite;width:95px;height:95px;text-decoration:none;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;border-radius:50%;transition:.2s ease-in-out;box-shadow:#0e3f7e0f 0 0 0 1px,#2a334608 0 1px 1px -.5px,#2a33460a 0 2px 2px -1px,#2a33460a 0 3px 3px -1.5px,#2a334608 0 5px 5px -2.5px,#2a334608 0 10px 10px -5px,#2a334608 0 24px 24px -8px}@media(hover:hover)and (pointer:fine){.disc:hover{scale:1.01;box-shadow:#091e4240 0 4px 8px -2px,#091e4214 0 0 0 1px}}.listening-container{position:relative;width:95px;height:95px}.center-circle{position:absolute;background-color:#f9f9f9;border-radius:50%;width:16px;height:16px;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px 2px #00000080}@media only screen and (max-width:876px){.listening-container,.disc{width:80px;height:80px}.center-circle{width:12px;height:12px}}.currently-img-wrapper{position:relative;z-index:2;cursor:grab;width:133px;height:100px}@media only screen and (max-width:876px){.currently-img-wrapper,.currently-img{width:94px;height:72px}}.currently-img-wrapper:active{cursor:grabbing}.currently-img{border:4px solid white;transform:rotate(-8deg);box-shadow:#091e4226 0 4px 8px -2px,#091e4214 0 0 0 1px;transition:.2s ease}.currently-img:active{scale:1.01;box-shadow:#091e4240 0 4px 8px -2px,#091e4214 0 0 0 1px}.link,.hoverable-work{text-decoration:none;transition:.1s ease;color:inherit}@media(hover:hover)and (pointer:fine){.link:hover{background-color:#d9d9d9;box-shadow:4px 0 #d9d9d9,-4px 0 #d9d9d9;color:#000}}.hoverable-work{cursor:pointer;display:block;padding-inline:4px}@media(hover:hover)and (pointer:fine){.hoverable-work:hover{background-color:#e9e9e9}}.about-link{text-decoration:none;transition:.1s ease;color:inherit;display:flex;flex-direction:row;gap:8px;align-items:baseline;width:fit-content}@media(hover:hover)and (pointer:fine){.about-link:hover{gap:10px;opacity:.5}}.book{position:relative;width:80px;height:120px}@media only screen and (max-width:876px){.book{width:64px;height:96px}}.book-top{height:3.2px;top:-4px;background:repeating-linear-gradient(0deg,transparent,transparent 1.5px,rgb(0 0 0 / 10%) 1.5px,rgb(0 0 0 / 10%) 3px),linear-gradient(to top,#0000000d,#0000001a);content:"";left:0;opacity:1;position:absolute;width:100%;transform-origin:bottom left;transform:skew(67deg)}.book-spine{left:-8px;width:8px;background:linear-gradient(to bottom,#424153 33%,#454545,#8f8f8f 99%);content:"";height:100%;opacity:1;position:absolute;top:0;transform:skewY(24deg);transform-origin:right bottom}@keyframes toss-0{0%{transform:translate3d(102vw,-104vh,0) rotate(-5deg)}to{transform:translateZ(0) rotate(7deg)}}.card-0{position:absolute;animation:toss-0 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(102vw,-104vh,0) rotate(-5deg);animation-delay:.02s}@keyframes toss-1{0%{transform:translate3d(-104vw,-106vh,0) rotate(-15deg)}to{transform:translateZ(0) rotate(-4deg)}}.card-1{position:absolute;animation:toss-1 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-104vw,-106vh,0) rotate(-15deg);animation-delay:.04s}@keyframes toss-2{0%{transform:translate3d(-120vw,-104vh,0) rotate(20deg)}to{transform:translateZ(0) rotate(9deg)}}.card-2{position:absolute;animation:toss-2 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-120vw,-104vh,0) rotate(20deg);animation-delay:.06s}@keyframes toss-3{0%{transform:translate3d(124vw,104vh,0) rotate(4deg)}to{transform:translateZ(0) rotate(-8deg)}}.card-3{position:absolute;animation:toss-3 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(124vw,104vh,0) rotate(4deg);animation-delay:.08s}@keyframes toss-4{0%{transform:translate3d(0,-120vh,0) rotate(-24deg)}to{transform:translateZ(0) rotate(-4deg)}}.card-4{position:absolute;animation:toss-4 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(0,-120vh,0) rotate(-24deg);animation-delay:.1s}@keyframes toss-5{0%{transform:translate3d(106vw,-106vh,0) rotate(10deg)}to{transform:translateZ(0) rotate(9deg)}}.card-5{position:absolute;animation:toss-5 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(106vw,-106vh,0) rotate(10deg);animation-delay:.12s}@keyframes toss-6{0%{transform:translate3d(-110vw,-104vh,0) rotate(-25deg)}to{transform:translateZ(0) rotate(-8deg)}}.card-6{position:absolute;animation:toss-6 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-110vw,-104vh,0) rotate(-25deg);animation-delay:.14s}@keyframes toss-7{0%{transform:translate3d(104vh,-112vh,0) rotate(15deg)}to{transform:translateZ(0) rotate(-4deg)}}.card-7{position:absolute;animation:toss-7 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(104vh,-112vh,0) rotate(15deg);animation-delay:.16s}@keyframes toss-8{0%{transform:translate3d(-106vw,112vh,0) rotate(-10deg)}to{transform:translateZ(0) rotate(6deg)}}.card-8{position:absolute;animation:toss-8 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-106vw,112vh,0) rotate(-10deg);animation-delay:.18s}@keyframes toss-9{0%{transform:translate3d(112vw,106vh,0) rotate(5deg)}to{transform:translateZ(0) rotate(12deg)}}.card-9{position:absolute;animation:toss-9 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(112vw,106vh,0) rotate(5deg);animation-delay:.2s}@keyframes toss-10{0%{transform:translate3d(104vw,-102vh,0) rotate(-20deg)}to{transform:translateZ(0) rotate(-4deg)}}.card-10{position:absolute;animation:toss-10 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(104vw,-102vh,0) rotate(-20deg);animation-delay:.22s}@keyframes toss-11{0%{transform:translate3d(121vw,110vh,0) rotate(-4deg)}to{transform:translateZ(0) rotate(12deg)}}.card-11{position:absolute;animation:toss-11 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(121vw,110vh,0) rotate(-4deg);animation-delay:.24s}@keyframes toss-12{0%{transform:translate3d(0,-140vh,0) rotate(24deg)}to{transform:translateZ(0) rotate(-2deg)}}.card-12{position:absolute;animation:toss-12 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(0,-140vh,0) rotate(24deg);animation-delay:.26s}@keyframes toss-13{0%{transform:translate3d(104,108vh,0) rotate(13deg)}to{transform:translateZ(0) rotate(2deg)}}.card-13{position:absolute;animation:toss-13 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(104vw,108vh,0) rotate(13deg);animation-delay:.28s}@keyframes toss-14{0%{transform:translate3d(112vw,-120vh,0) rotate(13deg)}to{transform:translateZ(0) rotate(-7deg)}}.card-14{position:absolute;animation:toss-14 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(112vw,-120vh,0) rotate(13deg);animation-delay:.3s}@keyframes toss-15{0%{transform:translate3d(-104vw,110vh,0) rotate(30deg)}to{transform:translateZ(0) rotate(-5deg)}}.card-15{position:absolute;animation:toss-15 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-104vw,110vh,0) rotate(30deg);animation-delay:.32s}@keyframes toss-16{0%{transform:translate3d(120vw,-102vh,0) rotate(-15deg)}to{transform:translateZ(0) rotate(4deg)}}.card-16{position:absolute;animation:toss-16 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(120vw,-102vh,0) rotate(-15deg);animation-delay:.34s}@keyframes toss-17{0%{transform:translate3d(-102vw,-115vh,0) rotate(25deg)}to{transform:translateZ(0) rotate(7deg)}}.card-17{position:absolute;animation:toss-17 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-102vw,-115vh,0) rotate(25deg);animation-delay:.36s}@keyframes toss-18{0%{transform:translate3d(-140vw,120vh,0) rotate(4deg)}to{transform:translateZ(0) rotate(-2deg)}}.card-18{position:absolute;animation:toss-18 .8s cubic-bezier(.22,.61,.36,1) forwards;transform:translate3d(-140vw,120vh,0) rotate(4deg);animation-delay:.38s}.home{min-height:100vh;display:flex;justify-content:center;padding:96px 24px 120px}.home__content{width:min(450px,calc(100vw - 40px));display:flex;flex-direction:column;gap:28px}.home__content>*{--enter-delay: 60ms;animation:home-enter .35s ease both;animation-delay:calc(var(--enter-delay) * var(--stagger, 0))}@keyframes home-fade{0%{opacity:0}to{opacity:1}}.home--no-animate .home__content>*{animation:home-fade .35s ease both;animation-delay:calc(var(--enter-delay) * var(--stagger, 0))}@keyframes home-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home__intro,.home__bio{margin:0;font-size:16px;line-height:1.6;color:var(--text-primary)}.home__diagram{display:grid;place-items:center}.diagram{grid-area:1 / 1;opacity:0;pointer-events:none}.diagram--animate{transition:opacity .2s ease,transform .2s ease}.diagram--active{opacity:1;transform:translateY(0);pointer-events:auto}.home__chip{display:inline-flex;align-items:center;justify-content:center;background-color:var(--chip-bg);color:inherit;border-radius:8px;padding:0 4px;border:1px dashed transparent;font:inherit;line-height:1.4;cursor:default;appearance:none;transition:background-color .1s ease,border-color .1s ease}.home__chip--dashed{background-color:var(--chip-bg);cursor:pointer;border-color:var(--chip-border-default)}.home__chip--active{background-color:var(--chip-highlight)}.home__chip--selected{background-color:var(--chip-selected)}.home__chip--selected.home__chip--active,.home__chip--dashed.home__chip--active{background-color:var(--chip-highlight)}.home__chip--dashed.home__chip--selected{background-color:var(--chip-selected)}.home__chip--dashed.home__chip--active{border-color:var(--chip-border-hover)}.home__chip--dashed:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-blue-border)}.home__chip:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-blue-border)}.home__bio strong{font-weight:500}.home__bio a:not(.footnote-ref),.home__footnote a:not(.footnote-ref){color:inherit;font-weight:400;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:var(--text-muted);text-decoration-thickness:1px;text-underline-offset:6px}.home__bio a:not(.footnote-ref):hover,.home__footnote a:not(.footnote-ref):hover,.home__footnote a:not(.footnote-ref):focus-visible{text-decoration-color:var(--text-muted);text-decoration-style:solid;text-underline-offset:6px}.footnote-ref{display:inline-flex;vertical-align:middle;text-decoration:none;margin-left:6px}.footnote-ref__badge{width:18px;height:18px;border-radius:6px;background:var(--footnote-badge-bg);color:#fff;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-decoration:none}.footnote-ref--inline{margin-left:8px;margin-right:4px;transform:translateY(-1px)}.footnote-ref:hover{text-decoration:none}.footnote-ref:hover .footnote-ref__badge{background:var(--footnote-badge-hover)}@media(hover:hover)and (pointer:fine){.home__chip:hover{background-color:var(--chip-highlight)}.home__chip--dashed:hover{background-color:var(--chip-highlight);border-color:var(--chip-border-hover)}}.footnote-ref--corner{position:absolute;top:12px;right:0;margin-left:0;z-index:2}.home__work{margin-top:48px;display:flex;flex-direction:column;gap:160px;align-items:center;width:min(1200px,calc(100vw - 40px));align-self:center}.home__footnotes{width:min(450px,calc(100vw - 40px));margin:120px auto 0;display:flex;flex-direction:column;gap:16px;color:var(--text-muted);font-size:14px}.home__footnote{display:flex;gap:12px;align-items:flex-start;scroll-margin-top:120px}.home__footnote a{text-underline-offset:4px!important}.home__footnote .footnote-ref{margin-top:3px}.home__footnote p{margin:0}@media(max-width:640px){.home{padding:48px 18px 64px}.home__content{gap:32px}.home__about-video{width:min(150px,50vw)}.home__work{margin-top:40px;gap:80px}}@font-face{font-family:SuisseIntl;src:url(/assets/SuisseIntl-Regular-B7AM9lve.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SuisseIntl;src:url(/assets/SuisseIntl-Medium-BV5hdR7s.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SuisseIntl;src:url(/assets/SuisseIntl-Semibold-BR4QjKEb.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SuisseIntlMono;src:url(/assets/SuisseIntlMono-Regular-WebS-12hCXZbU.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light dark;--dom-bg: #ffffff;--chip-selected: #dee8f6;--text-primary: #2f3540;--text-secondary: rgba(47, 53, 64, .6);--text-muted: rgba(47, 53, 64, .5);--accent-blue: #1178ff;--accent-blue-weak: rgba(17, 120, 255, .2);--accent-blue-soft: rgba(17, 120, 255, .36);--accent-blue-subtle: rgba(17, 120, 255, .16);--accent-blue-strong: rgba(17, 120, 255, .8);--accent-blue-border: rgba(17, 120, 255, .5);--chip-border-default: rgba(0, 0, 0, .2);--chip-bg: #f4f5f6;--chip-highlight: rgba(17, 120, 255, .2);--chip-border-hover: rgba(17, 120, 255, .6);--control-bg: rgba(0, 0, 0, .05);--control-icon: rgba(0, 0, 0, .3);--control-icon-strong: rgba(0, 0, 0, .6);--ring: rgba(0, 0, 0, .12);--fill: rgba(0, 0, 0, .02);--fill-alt: rgba(0, 0, 0, .02);--clock-ink: #1f1f1f;--clock-accent: rgba(17, 120, 255, .45);--clock-accent-strong: rgba(17, 120, 255, .8);--snowball: #d9d9d9;--glow: rgba(17, 24, 39, .08);--footnote-badge-bg: #cccccc;--footnote-badge-hover: #b3b3b3;--md-img-border: rgba(0, 0, 0, .1);--video-frame-bg: #DDDDDD;--venn-intersection-opacity: .1;--venn-intersection-hover: .2}html[data-theme=light]{color-scheme:light;--dom-bg: #ffffff;--chip-selected: #dee8f6}html[data-theme=dark]{color-scheme:dark;--dom-bg: #101010;--chip-selected: rgba(88, 176, 255, .3);--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--accent-blue: #58b0ff;--accent-blue-weak: rgba(88, 176, 255, .2);--accent-blue-soft: rgba(88, 176, 255, .36);--accent-blue-subtle: rgba(88, 176, 255, .16);--accent-blue-strong: rgba(88, 176, 255, .85);--accent-blue-border: rgba(88, 176, 255, .6);--chip-border-default: rgba(255, 255, 255, .22);--chip-bg: #1c1c1c;--chip-highlight: rgba(88, 176, 255, .2);--chip-border-hover: rgba(88, 176, 255, .75);--control-bg: rgba(255, 255, 255, .08);--control-icon: rgba(255, 255, 255, .6);--control-icon-strong: rgba(255, 255, 255, .95);--ring: rgba(255, 255, 255, .15);--fill: rgba(255, 255, 255, .03);--fill-alt: rgba(255, 255, 255, .03);--clock-ink: #f7f7f7;--clock-accent: rgba(88, 176, 255, .3);--clock-accent-strong: rgba(88, 176, 255, .2);--snowball: #d9d9d9;--glow: rgba(0, 0, 0, .55);--footnote-badge-bg: #3a3a3a;--footnote-badge-hover: #2d2d2d;--md-img-border: rgba(255, 255, 255, .1);--video-frame-bg: #333333;--venn-intersection-opacity: .3;--venn-intersection-hover: .2}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:SuisseIntl,sans-serif;background-color:transparent;color:var(--text-primary, #2f3540);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html{background-color:var(--dom-bg, #ffffff)}::selection{background:var(--chip-selected, #dee8f6);color:inherit}::-moz-selection{background:var(--chip-selected, #dee8f6);color:inherit}html[data-theme=light] ::selection,html[data-theme=light] ::-moz-selection{background:#dee8f6;color:inherit}html[data-theme=dark] ::selection,html[data-theme=dark] ::-moz-selection{background:#58b0ff8c;color:inherit}#app{min-height:100vh;background-color:transparent}
