:root{--ink:#191919;--muted:#686868;--edge:15px;--split:37.8%}
*{box-sizing:border-box}
html{scroll-behavior:auto;scrollbar-gutter:stable}
body{margin:0;padding:0 var(--edge);background:#fff;color:var(--ink);font-family:'Noto Sans SC',sans-serif;font-size:13px;line-height:1.45;font-synthesis:none}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
button:disabled{cursor:default;color:var(--muted)}
button:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}
button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
p,h1,h2,h3,figure{margin:0}
button[hidden],[hidden]{display:none!important}
.display{font-family:Anton,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1;font-synthesis:none}
.masthead{display:flex;align-items:flex-start;position:relative;padding-top:0;min-height:110px}
.masthead h1{width:var(--split);font-weight:400;font-size:inherit;flex:none}
.masthead .display{display:block;font-size:61px;line-height:81px;white-space:nowrap}
.masthead h1 a{display:inline-block}
.nav-caption{display:block;font-size:13px;line-height:1.4;padding-top:2px}
.work-entry{text-align:left}
.about-entry{margin-left:auto;text-align:right}
.masthead a:hover{text-decoration:none}
.mood-section{margin-top:298.5px}
.mood-bar{display:flex;justify-content:space-between;align-items:center;height:34px;font-size:11.5px;line-height:1.3}
.mood-bar p{display:flex;gap:7px}
.mood-controls{display:flex;align-items:center;gap:18px}
.frame-count{font-variant-numeric:tabular-nums;min-width:46px}
.sound-label{color:var(--muted)}
.mood-frame{position:relative;width:100%;aspect-ratio:3/2;background:#868686;overflow:hidden;isolation:isolate}
.mood-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;z-index:0;transition:none}
.mood-photo.is-active{opacity:1;z-index:1}
.motion-status{font-size:11px;color:var(--muted);padding-top:8px;min-height:25px}
.about-section{display:flex;align-items:flex-start;padding-top:138px;scroll-margin-top:30px}
.intro-column{width:var(--split);flex:none;padding-right:72px}
.intro-column h2{font-size:28px;font-weight:700;line-height:1.25;letter-spacing:-.03em;margin-bottom:16px}
.intro{max-width:370px;font-size:14px;line-height:1.5}
.intro-contact{margin-top:42px;font-size:11.5px;line-height:1.4}
.intro-contact p{margin-bottom:17px}
.intro-contact span,.intro-contact a{display:block}
.small-work-entry{font-size:14px;margin-top:14px;text-decoration:underline;text-underline-offset:4px}
.profile-column{display:flex;align-items:flex-start;flex:1;gap:32px;min-width:0}
.portrait-region{width:178px;flex:none}
.portrait-region img{display:block;width:100%;height:auto}
.portrait-region figcaption{font-size:10px;line-height:1.4;margin-top:10px}
.information{flex:1;min-width:0}
.information-row{display:flex;gap:30px;margin-bottom:25px}
.info-block{flex:1;min-width:0}
.info-block h3{font-size:11px;font-weight:400;line-height:1.4;margin-bottom:8px;color:var(--muted)}
.info-block p{font-size:13px;line-height:1.5}
.tools-row{margin-bottom:0}
.tools-row p{font-size:11.5px;line-height:1.5}
.site-footer{padding-top:245px}
.footer-information{display:flex;font-size:11px;line-height:1.4;color:var(--muted)}
.footer-information>p{width:var(--split);flex:none}
.footer-right{display:flex;gap:25px;flex:1}
.footer-right p{flex:1}
.footer-display{display:flex;align-items:baseline;justify-content:space-between;white-space:nowrap;font-size:clamp(100px,15.4vw,222px);line-height:1.1;margin-top:76px;letter-spacing:-.035em}
.footer-display:hover{text-decoration:none}
.footer-arrow{font-family:'Noto Sans SC',sans-serif;font-size:.65em;line-height:1;font-weight:500}
dialog{border:1px solid var(--ink);padding:32px;max-width:420px;background:white;color:var(--ink)}
dialog::backdrop{background:rgb(0 0 0 / 25%)}
dialog h2{font-size:21px;margin-bottom:18px}
dialog p{font-size:13px;margin-bottom:25px;line-height:1.6}
dialog button{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.masthead .display{font-size:5.625vw}.mood-section{margin-top:24vw}.intro-column{padding-right:30px}.portrait-region{width:140px}.profile-column{gap:22px}.information-row{gap:18px}.about-section{padding-top:90px}.site-footer{padding-top:160px}.info-block p{font-size:12px}}
@media(max-width:760px){:root{--edge:12px;--split:48%}.masthead{min-height:70px}.masthead .display{font-size:7vw}.nav-caption{font-size:10px}.mood-section{margin-top:20vw}.mood-bar{height:auto;min-height:54px;align-items:flex-start;gap:12px}.mood-controls{gap:10px;flex-wrap:wrap;justify-content:flex-end}.sound-label{display:none}.mood-bar p{flex-wrap:wrap;gap:2px}.about-section{display:block;padding-top:75px}.intro-column{width:100%;padding:0;max-width:430px}.profile-column{margin-top:55px;gap:24px}.portrait-region{width:26%}.information-row{display:block;margin-bottom:0}.info-block{margin-bottom:24px}.site-footer{padding-top:95px}.footer-right{flex-wrap:wrap;gap:15px}.footer-right p{flex:1 0 40%}.footer-display{font-size:19vw;margin-top:55px}.footer-information>p{width:35%;padding-right:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@font-face{font-family:Anton;src:url('assets/fonts/Anton-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('assets/fonts/NotoSansSC-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('assets/fonts/NotoSansSC-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
