@font-face{font-family:newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-latin-opsz-normal.woff2)format("woff2-variations")}@font-face{font-family:newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-latin-opsz-italic.woff2)format("woff2-variations")}@font-face{font-family:karla;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/karla-latin-wght-normal.woff2)format("woff2-variations")}@font-face{font-family:karla;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/karla-latin-wght-italic.woff2)format("woff2-variations")}@font-face{font-family:site handwriting;src:url(/theme/font/ArchitectsDaughter.woff2)format("woff2"),url(/theme/font/ArchitectsDaughter.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-U+024F,U+1E00-U+1EFF,U+2000-U+206F,U+3000-U+303F}@font-face{font-family:site handwriting;src:url(/theme/font/ArchitectsDaughter.woff2)format("woff2"),url(/theme/font/ArchitectsDaughter.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-U+024F,U+1E00-U+1EFF,U+2000-U+206F,U+3000-U+303F}@font-face{font-family:site handwriting;src:url(/theme/font/ArchitectsDaughter.woff2)format("woff2"),url(/theme/font/ArchitectsDaughter.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap;unicode-range:U+0000-U+024F,U+1E00-U+1EFF,U+2000-U+206F,U+3000-U+303F}@font-face{font-family:site handwriting;src:url(/theme/font/ArchitectsDaughter.woff2)format("woff2"),url(/theme/font/ArchitectsDaughter.ttf)format("truetype");font-style:italic;font-weight:700;font-display:swap;unicode-range:U+0000-U+024F,U+1E00-U+1EFF,U+2000-U+206F,U+3000-U+303F}@font-face{font-family:site handwriting;src:url(/theme/font/Thit_Sar_Shwe_Si.woff2)format("woff2"),url(/theme/font/Thit_Sar_Shwe_Si.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F}@font-face{font-family:site handwriting;src:url(/theme/font/Thit_Sar_Shwe_Si.woff2)format("woff2"),url(/theme/font/Thit_Sar_Shwe_Si.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F}@font-face{font-family:site handwriting;src:url(/theme/font/Thit_Sar_Shwe_Si.woff2)format("woff2"),url(/theme/font/Thit_Sar_Shwe_Si.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap;unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F}@font-face{font-family:site handwriting;src:url(/theme/font/Thit_Sar_Shwe_Si.woff2)format("woff2"),url(/theme/font/Thit_Sar_Shwe_Si.ttf)format("truetype");font-style:italic;font-weight:700;font-display:swap;unicode-range:U+1000-109F,U+A9E0-A9FF,U+AA60-AA7F}@font-face{font-family:site handwriting clear;src:url("/theme/font/Z01-Umoe002 Regular.woff2")format("woff2"),url("/theme/font/Z01-Umoe002 Regular.ttf")format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--paper:#f3f3ef;--ink:#1b1d20;--mute:#5b5f66;--rule:#cfd2cc;--rule-soft:#e2e4de;--accent:#8a5a0c;--accent-soft:#f1e7cd;--blood:#8f1d21;--code-bg:#e9eae4;--serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--measure:64ch;--page:1200px;--gutter:clamp(1.25rem,4vw,3rem);--dot:9px;--fs-meta:.8rem;--fs-small:.9rem;--fs-lead:1.2rem;--fs-h2:1.55rem;--fs-h1:clamp(2.1rem,3.6vw,3.1rem);--fs-word:clamp(3.6rem,9vw,8rem);color-scheme:light}:root[data-theme=dark]{--paper:#15171a;--ink:#e9e7e0;--mute:#a09e97;--rule:#34373c;--rule-soft:#262a2e;--accent:#dcb85a;--accent-soft:#2c271b;--blood:#e07a80;--code-bg:#1f2226;color-scheme:dark}:root[data-palette=colorblind]{--accent:#0072b2;--accent-soft:#d6e6f2;--blood:#d55e00}:root[data-palette=colorblind][data-theme=dark]{--accent:#56b4e9;--accent-soft:#1b2b38;--blood:#e69f00}html:lang(my){--hand:"Site Handwriting","Segoe Print","Bradley Hand",cursive,sans-serif;--hand-clear:"Site Handwriting Clear","Segoe Print","Bradley Hand",cursive,sans-serif;--serif:var(--hand);--sans:var(--hand-clear);--measure:56ch;word-spacing:.05em}html:lang(my)[data-mm-font=clear]{--serif:var(--hand-clear);font-size-adjust:.528}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}html{font-size:17px;-webkit-text-size-adjust:100%}@media(min-width:700px){html{font-size:18px}}@media(min-width:1100px){html{font-size:19px}}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 var(--serif);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html:lang(my) body{line-height:2;font-size:1.02rem}html:lang(my) h1,html:lang(my) h2,html:lang(my) h3{line-height:1.5;letter-spacing:0;text-wrap:pretty}html:lang(my) strong,html:lang(my) b{font-weight:400;text-decoration:underline;text-decoration-color:var(--accent)}html:lang(my) .kicker,html:lang(my) .meta,html:lang(my) small{font-weight:400;font-size:.9rem}html:lang(my) .masthead-nav,html:lang(my) .colophon{font-size:1rem}a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color .15s}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-soft)}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-weight:400;line-height:1.15;margin:0;letter-spacing:-.005em;text-wrap:balance}p{margin:0 0 1em}ul.plain,ol.plain{list-style:none;margin:0;padding:0}small,.meta{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);letter-spacing:.005em}strong,b{font-weight:600}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}code,kbd,pre{font-family:var(--mono);font-size:.86em}pre{background:var(--code-bg);padding:1rem 1.1rem;overflow:auto;border-radius:3px;line-height:1.45}:not(pre)>code{background:var(--code-bg);padding:.08em .35em;border-radius:3px}blockquote{margin:1.5rem 0;padding-left:1.1rem;border-left:2px solid var(--accent);color:var(--mute);font-style:italic}table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--rule-soft);vertical-align:top}th{font-family:var(--sans);font-weight:600;font-size:var(--fs-meta);color:var(--mute)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:1rem;top:-3rem;background:var(--ink);color:var(--paper);padding:.5rem .9rem;font-family:var(--sans);z-index:10}.skip:focus{top:1rem}button.linklike{all:unset;cursor:pointer;color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.18em;font:inherit}button.linklike:hover{text-decoration-thickness:2px}.kicker{font-family:var(--sans);font-size:var(--fs-meta);font-weight:600;color:var(--accent);margin:0 0 .7rem;letter-spacing:.01em}.lead{font-size:var(--fs-lead);line-height:1.45}.masthead{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:2.2rem;max-width:var(--page);margin:0 auto;padding:1.6rem var(--gutter)0;font-family:var(--sans);font-size:var(--fs-small)}.masthead-nav{display:flex;gap:1.4rem;flex-wrap:wrap}.masthead-left{justify-content:flex-end}.masthead-right{justify-content:flex-start}.masthead-lang{position:absolute;right:var(--gutter);top:.75rem;font-size:var(--fs-meta);line-height:1}.masthead-nav a,.lang-switch{text-decoration:none;color:var(--mute)}.masthead-nav a:hover,.masthead-nav a[aria-current]{color:var(--ink)}.masthead-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.3em}.masthead-name{font-family:var(--serif);font-size:1.35rem;text-decoration:none;color:var(--ink);padding:0 .5rem;white-space:nowrap}.lang-switch.is-missing{color:var(--mute);text-decoration:line-through;cursor:default}.lang-switch[lang=my],.lang-switch[lang=my] *,[lang=my]{font-family:site handwriting clear,site handwriting,var(--sans)}html:lang(my) .masthead-name{font-size:1.2rem}@media(max-width:699px){.masthead{grid-template-columns:1fr auto 1fr;column-gap:1rem;padding-top:2.1rem}.masthead-name{font-size:1.3rem;padding:0}.masthead-lang{top:.55rem}}.spine{position:relative;max-width:var(--page);margin:0 auto;padding:0 var(--gutter);--gap:clamp(3rem,7vw,6rem);--row-top:3.2rem;--row-bottom:2.6rem}.row{display:grid;grid-template-columns:1fr 1fr;column-gap:0;position:relative}.row>*{min-width:0}.row>.voice-l{padding:var(--row-top)calc(var(--gap)/2)var(--row-bottom)0;border-right:1px solid var(--ink)}.row>.voice-r{padding:var(--row-top)0 var(--row-bottom)calc(var(--gap)/2)}.row::before{content:"";position:absolute;top:calc(var(--row-top) + .35rem);left:50%;width:var(--dot);height:var(--dot);border-radius:50%;background:var(--accent);transform:translateX(-50%)}.row.no-dot::before{display:none}.spine-note{grid-column:1/-1;text-align:center;padding:0 0 .4rem}.spine-note>summary{margin-left:50%;transform:translateX(-50%)}.row.asym .spine-note>summary{margin-left:40%}.spine-note>summary{list-style:none;cursor:pointer;display:block;width:24px;height:24px;border-radius:50%;position:relative}.spine-note>summary::-webkit-details-marker{display:none}.spine-note>summary::after{content:"";position:absolute;top:50%;left:50%;width:var(--dot);height:var(--dot);margin:calc(var(--dot)/-2)0 0 calc(var(--dot)/-2);border-radius:50%;background:var(--accent);transition:transform .15s}.spine-note>summary:hover::after,.spine-note[open]>summary::after{transform:scale(1.35)}.spine-note>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spine-note-body{padding-top:.8rem;max-width:min(30rem,100%);margin:0 auto}.spine-note-body p{font-family:var(--serif);font-style:italic;font-size:var(--fs-small);line-height:1.55;color:var(--mute);margin:0;max-width:none;text-wrap:pretty}@media(prefers-reduced-motion:reduce){.spine-note>summary::after{transition:none}}.voice-l{text-align:right}.voice-l .kicker,.voice-l h2,.voice-l ul,.voice-l ol{text-align:right}.voice-l .bib li{grid-template-columns:1fr auto}.voice-r{text-align:left}.row-full{grid-column:1/3;text-align:center;position:relative}.voice h2{font-size:var(--fs-h2);margin-bottom:.9rem}.voice .word{font-size:var(--fs-word)}html:lang(my) .voice .word{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:400;line-height:1.5}.voice p{max-width:var(--measure)}.voice-l p{margin-left:auto}.voice-r p{margin-right:auto}.intro{display:none}.intro-body{border-left:1px solid var(--ink);padding:.4rem 0 .4rem 1.3rem}.intro-name{font-size:2.6rem;font-weight:300;line-height:1.05;letter-spacing:-.02em;margin:0 0 .6rem}.intro-tagline{font-size:1.2rem;font-style:italic;margin:0 0 .8rem}.intro-text{color:var(--mute);font-size:1.02rem;line-height:1.5;margin:0 0 .8rem}html:lang(my) .intro-name{font-size:2rem;line-height:1.4;letter-spacing:0;font-weight:400}html:lang(my) .intro-tagline{font-style:normal;font-size:1.05rem}.row>.wide{grid-column:1/3;max-width:var(--measure);margin:0 auto;padding:var(--row-top)0 var(--row-bottom);text-align:left}.wide .kicker{text-align:center}.wide .topics{margin:0}.hero{--row-top:clamp(2.5rem,6vw,5rem);--row-bottom:2rem}.hero::before{display:none}.word{font-size:var(--fs-word);font-weight:300;line-height:.92;letter-spacing:-.025em;margin:0 0 1rem;text-wrap:balance}.voice-r .word{font-style:italic;font-weight:400}.hero p:not(.word){font-size:var(--fs-lead);color:var(--mute);max-width:32ch;margin-bottom:0;line-height:1.4}html:lang(my) .voice-r .word{font-style:normal}.portrait-row{display:flex;justify-content:center;position:relative;z-index:1;padding:1.6rem 0 0}.work-mark-row{display:flex;justify-content:center;position:relative;z-index:1;padding:1.6rem 0 0}.work-mark{display:block;width:clamp(72px,9vw,108px);height:clamp(72px,9vw,108px);border-radius:50%;overflow:hidden;position:relative;background:var(--paper);box-shadow:0 0 0 6px var(--paper),0 0 0 7px var(--ink);line-height:0}.work-mark:focus-visible{box-shadow:0 0 0 6px var(--paper),0 0 0 8px var(--accent);outline:none}.work-mark img{width:100%;height:100%;object-fit:contain;display:block}.work-mark--inscribe img{width:70.7%;height:70.7%;margin:14.65%}.work-mark-row+.page-head{padding-top:0}.portrait-row::before{display:none}.portrait{all:unset;cursor:pointer;display:block;width:clamp(72px,9vw,108px);height:clamp(72px,9vw,108px);border-radius:50%;overflow:hidden;position:relative;background:var(--paper);box-shadow:0 0 0 6px var(--paper),0 0 0 7px var(--ink)}.portrait:focus-visible{box-shadow:0 0 0 6px var(--paper),0 0 0 8px var(--accent)}.portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .4s}.portrait .portrait-duck{opacity:0;object-fit:contain;padding:12%;background:var(--accent-soft)}.portrait.is-duck .portrait-photo{opacity:0}.portrait.is-duck .portrait-duck{opacity:1}.portrait .portrait-duck[hidden]{display:block}.chron{list-style:none;margin:0;padding:0}.chron li{padding:.75rem 0;border-top:1px solid var(--rule-soft)}.chron li:first-child{border-top:0;padding-top:0}.chron .when{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);display:block;margin-bottom:.15rem}.chron .what{display:block}.chron .where{display:block;color:var(--mute);font-size:var(--fs-small)}.chron details{margin-top:.35rem}.chron summary{cursor:pointer;font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);list-style:none}.chron summary::-webkit-details-marker{display:none}.chron summary::after{content:" +";color:var(--accent)}.chron details[open] summary::after{content:" –"}.chron details p{font-size:var(--fs-small);color:var(--mute);margin:.5rem 0 0;max-width:none}.chron-more{margin-top:.75rem;border-top:1px solid var(--rule-soft);padding-top:.75rem}.chron-more>summary{cursor:pointer;font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);list-style:none}.chron-more>summary::-webkit-details-marker{display:none}.chron-more>summary::after{content:" +";color:var(--accent)}.chron-more[open]>summary::after{content:" \2013"}.chron-more>summary:hover,.chron-more>summary:focus-visible{color:var(--ink)}.chron-more .chron{margin-top:.5rem}.chron-details{margin-top:.5rem}.chron-details p{font-size:var(--fs-small);color:var(--mute);margin:0 0 .5rem;max-width:none}.voice-l .chron-details p{margin-left:auto}.bib{list-style:none;margin:0;padding:0}.bib li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;padding:.8rem 0;border-top:1px solid var(--rule-soft)}.bib li>*{min-width:0}.bib .title,.bib .authors,.bib .venue{overflow-wrap:anywhere}.bib li:first-child{border-top:0;padding-top:0}.bib .year{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);padding-top:.3rem;min-width:3ch}.voice-l .bib .year{order:2;text-align:left}.bib .title{display:block}.bib .venue{color:var(--mute);font-style:italic;font-size:var(--fs-small);display:block}.bib .authors{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);display:block;margin-top:.15rem;line-height:1.45}.bib .authors strong{color:var(--ink);font-weight:600}.bib .sources{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin-top:.3rem;font-family:var(--sans);font-size:var(--fs-meta)}.bib .sources a{color:var(--mute);text-decoration:none;border-bottom:1px solid var(--rule)}.bib .sources a:hover{color:var(--ink);border-color:var(--accent)}.more{display:inline-block;margin-top:1.1rem;font-family:var(--sans);font-size:var(--fs-small)}.datelist{list-style:none;margin:0;padding:0}.datelist li{padding:.55rem 0;border-top:1px solid var(--rule-soft)}.datelist li:first-child{border-top:0;padding-top:0}.datelist time{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);display:block}.datelist .sub{display:block;color:var(--mute);font-size:var(--fs-small)}.covers-block{margin:0 0 1.4rem}.covers-block .kicker{margin-bottom:.5rem}.covers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,clamp(72px,7.5vw,96px));gap:.9rem .7rem;justify-content:start}.voice-l .covers{justify-content:end}.cover{width:clamp(72px,7.5vw,96px)}.cover a{text-decoration:none;display:block;color:inherit}.cover img{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--rule-soft);border-radius:2px}.covers.square .cover img{aspect-ratio:1}.cover-title{display:block;font-family:var(--sans);font-size:.72rem;line-height:1.3;margin-top:.35rem;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left}.cover-meta{display:block;font-family:var(--sans);font-size:.7rem;color:var(--mute);text-align:left}.covers-empty{color:var(--mute);font-size:var(--fs-small)}#now-playing{font-size:var(--fs-lead);line-height:1.4}#now-playing[data-state=playing] .np-when{color:var(--accent)}.np-when{color:var(--mute)}.lately-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.2rem;margin-top:1.2rem;max-width:26rem}.lately-row>*{min-width:0}.voice-l .lately-row{margin-left:auto}.lately-item .meta{margin:0 0 .4rem;overflow-wrap:anywhere}.lately-item .covers-empty,.lately-item .cover-title,.lately-item .cover-meta{overflow-wrap:anywhere}.lately-item .covers{grid-template-columns:minmax(0,1fr);justify-content:start}.lately-item .cover{width:100%;max-width:7rem}.lately-item .cover img{aspect-ratio:2/3;object-fit:cover;object-position:center 30%}.lately-item .covers-empty{margin:.3rem 0 0;font-family:var(--sans);font-size:.72rem}.row>.fig-rug{grid-column:1/3;max-width:52rem;width:100%;margin:0 auto;padding:var(--row-top)0 var(--row-bottom);text-align:left}.fig-rug svg{display:block;width:100%;height:auto;font-family:var(--sans);overflow:visible}.fig-rug a{text-decoration:none;outline:none}.fig-rug a:hover circle,.fig-rug a:focus-visible circle{fill:var(--accent);stroke:var(--accent)}.fig-rug a:focus-visible circle{stroke-width:3}.fig-rug figcaption{margin-top:.6rem;max-width:var(--measure)}@media(max-width:699px){.rug-row{display:none}}.row.asym{grid-template-columns:2fr 3fr}.row.asym::before{left:40%}.row.asym .lately-row{max-width:none;margin-left:0}.topics{margin:0}.topics a{text-decoration:none;border-bottom:1px solid var(--rule)}.topics a:hover{border-color:var(--accent)}.topics .n{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute)}.projects{list-style:none;margin:0;padding:0}.projects li{padding:.5rem 0;border-top:1px solid var(--rule-soft)}.projects li:first-child{border-top:0;padding-top:0}.projects .role{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);display:block}.projects .tag{display:block;color:var(--mute);font-size:var(--fs-small)}.repos a,.prose a,.bib .sources a,.datelist a,.projects a{overflow-wrap:anywhere}.repos{list-style:none;margin:0;padding:0;font-size:var(--fs-small)}.repos li{padding:.35rem 0}.repos .desc{color:var(--mute)}.repos .langs{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute)}.page-head{max-width:var(--page);margin:0 auto;padding:clamp(2rem,5vw,4rem)var(--gutter)1.5rem;text-align:center;position:relative}.page-head::before{content:"";display:block;width:1px;height:clamp(2.5rem,6vw,5rem);background:var(--ink);margin:0 auto 1.6rem}.page-head h1{font-size:var(--fs-h1);font-weight:400;max-width:24ch;margin:0 auto}.page-head .meta{display:block;margin-top:.8rem}.page-head .intro{max-width:52ch;margin:1.2rem auto 0;color:var(--mute);font-size:var(--fs-lead);line-height:1.45}.page-body{max-width:var(--page);margin:0 auto;padding:1rem var(--gutter)4rem}.narrow{max-width:calc(var(--measure) + 2*var(--gutter))}.prose{max-width:var(--measure)}.prose>*{max-width:var(--measure)}.prose h2{font-size:var(--fs-h2);margin:2.4rem 0 .8rem}.prose h3{font-size:1.2rem;margin:1.8rem 0 .6rem;font-weight:500}.prose h2 a,.prose h3 a{text-decoration:none}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin:.25rem 0}.prose img,.prose figure,.prose .image-grid,.prose pre,.prose table{max-width:none}.prose figure{margin:1.8rem 0}.prose figcaption{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);margin-top:.5rem}.prose .figure-label{font-weight:600;color:var(--ink)}.opening-words{font-variant-caps:small-caps;letter-spacing:.04em;font-weight:500}.pullquote{margin:2.4rem auto;max-width:30ch;text-align:center;font-size:clamp(1.3rem,2.2vw,1.7rem);font-style:italic;font-weight:300;line-height:1.3;padding:1.4rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.pullquote p{margin:0;max-width:none}html:lang(my) .pullquote{font-style:normal;font-size:1.15rem;line-height:1.9}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:1.5rem 0}.image-grid a{display:block;text-decoration:none}.image-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;background:var(--rule-soft)}.post-figure img{width:100%}.essay{display:grid;grid-template-columns:minmax(0,var(--measure));justify-content:center;column-gap:3rem}.essay .prose{grid-column:1}.essay .margin{display:none}@media(min-width:1100px){.essay{grid-template-columns:minmax(0,var(--measure))15rem}.essay .margin{display:block;grid-column:2;grid-row:1;font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);line-height:1.5}.essay .margin>*{position:sticky;top:2rem}}.margin p{margin:0 0 1.2rem}.margin b{color:var(--ink);font-weight:600}.toc{font-family:var(--sans);font-size:var(--fs-meta)}.toc h2{font-size:var(--fs-meta);font-family:var(--sans);font-weight:600;color:var(--ink);margin:0 0 .5rem}.toc ul{list-style:none;margin:0;padding:0}.toc ul ul{padding-left:.9rem}.toc li{margin:.25rem 0}.toc a{text-decoration:none;color:var(--mute)}.toc a:hover,.toc a[aria-current]{color:var(--ink)}.byline{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute)}.essay-portrait{width:6rem;height:6rem;border-radius:50%;object-fit:cover;margin:0 0 1rem}.yeargroup{display:grid;grid-template-columns:6rem 1fr;column-gap:2rem;padding:1.6rem 0;border-top:1px solid var(--rule)}.yeargroup:first-of-type{border-top:0}.yeargroup h2{font-size:1.9rem;font-weight:300;line-height:1;color:var(--mute)}.yeargroup .datelist li{padding:.6rem 0}.yeargroup .datelist li:first-child{padding-top:0}@media(max-width:699px){.yeargroup{grid-template-columns:1fr;row-gap:.6rem}}.filter{max-width:var(--page);margin:0 auto 2rem;padding:0;font-family:var(--sans);font-size:var(--fs-small)}.filter input[type=search]{font:inherit;font-family:var(--serif);font-size:1.1rem;width:100%;max-width:38rem;padding:.6rem 0;border:0;border-bottom:1px solid var(--ink);background:0 0;color:var(--ink);border-radius:0;-webkit-appearance:none}.filter input::placeholder{color:var(--mute);opacity:1}.filter-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem 2.5rem;margin-top:1.4rem}.filter-group{border:0;padding:0;margin:0;min-width:0}.filter-group legend{font-weight:600;color:var(--mute);font-size:var(--fs-meta);padding:0;margin-bottom:.3rem}.filter-group .tags{display:flex;flex-wrap:wrap;gap:.15rem .8rem}.filter-tag{all:unset;cursor:pointer;color:var(--ink);border-bottom:1px solid var(--rule);line-height:1.6}.filter-tag:hover{border-color:var(--accent)}.filter-tag[aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent);font-weight:600}.filter-tag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-more{all:unset;cursor:pointer;color:var(--mute);font-size:var(--fs-meta);line-height:1.6;text-decoration:underline;text-underline-offset:.2em}.filter-tag.is-extra[hidden]{display:none}.filter-foot{display:flex;gap:1.5rem;align-items:baseline;margin-top:1.2rem;color:var(--mute)}#works-clear{all:unset;cursor:pointer;color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.works-group{padding:2rem 0 .5rem;border-top:1px solid var(--rule);display:grid;grid-template-columns:12rem minmax(0,1fr);column-gap:2.5rem}.works-group>*{min-width:0}.works-group:first-of-type{border-top:0}.works-group h2{font-size:1.25rem;font-weight:500;line-height:1.3;margin:0}.works-group h2 small{display:block;margin-top:.2rem}.works-group .bib li{grid-template-columns:3.5rem minmax(0,1fr)}.works-group .bib .title{font-size:1.05rem}@media(max-width:899px){.works-group{grid-template-columns:minmax(0,1fr);row-gap:1rem}.works-group h2 small{display:inline;margin-left:.5rem}}.paper{max-width:calc(var(--measure) + 12rem);margin:0 auto;padding:1rem var(--gutter)4rem}.paper-title{font-size:var(--fs-h1);font-weight:400;line-height:1.15;max-width:none}.paper .authors{font-size:1.05rem;margin:1.2rem 0 .4rem;line-height:1.6}.paper .authors a{text-decoration:none;border-bottom:1px solid var(--rule)}.paper .authors a:hover{border-color:var(--accent)}.paper .authors sup{font-family:var(--sans);font-size:.6em;color:var(--mute);margin-left:.1em}.paper .affil{list-style:none;padding:0;margin:0 0 1.4rem;font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);line-height:1.5}.paper .affil li{display:flex;gap:.6rem}.paper .affil li span:first-child{min-width:1.2em}.paper .pubmeta{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;align-items:baseline;padding:1rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-soft);font-family:var(--sans);font-size:var(--fs-small)}.paper .pubmeta .venue{font-family:var(--serif);font-style:italic;font-size:1.05rem}.paper .pubmeta a[data-citation-count]{text-decoration:none;color:var(--mute);border-bottom:1px solid var(--rule)}.paper .abstract{margin-top:2rem}.paper .abstract h2{font-size:var(--fs-meta);font-family:var(--sans);font-weight:600;color:var(--mute);margin-bottom:.6rem}.paper .abstract p{max-width:var(--measure)}.paper .find{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--rule-soft)}.paper .find h2,.paper .tags h2{font-size:var(--fs-meta);font-family:var(--sans);font-weight:600;color:var(--mute);margin-bottom:.6rem}.sources-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;font-family:var(--sans);font-size:var(--fs-small)}.sources-list a{text-decoration:none;border-bottom:1px solid var(--ink)}.sources-list a:hover{border-color:var(--accent);color:var(--accent)}.paper .tags{margin-top:2rem}.paper .tags dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.2rem;margin:0;font-size:var(--fs-small)}.paper .tags dt{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);padding-top:.15rem}.paper .tags dd{margin:0}.paper .tags dd a{text-decoration:none;border-bottom:1px solid var(--rule);margin-right:.8rem}.paper .tags dd a:hover{border-color:var(--accent)}details.cite{margin-top:1.4rem;border-top:1px solid var(--rule-soft);padding-top:.8rem}details.cite summary{cursor:pointer;font-family:var(--sans);font-size:var(--fs-small);list-style:none;color:var(--ink)}details.cite summary::-webkit-details-marker{display:none}details.cite summary::before{content:"+ ";color:var(--accent)}details.cite[open] summary::before{content:"– "}.cite-body{margin-top:.9rem}.cite-status{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);min-height:1.2em;margin:0 0 .5rem}.cite-formats,.cite-actions{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;font-family:var(--sans);font-size:var(--fs-meta);margin:.5rem 0}.cite-formats button,.cite-actions button{all:unset;cursor:pointer;color:var(--mute);border-bottom:1px solid transparent;line-height:1.7}.cite-formats button:hover,.cite-actions button:hover{color:var(--ink)}.cite-formats button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.cite-actions button:disabled{opacity:.4;cursor:default}.cite-formats button:focus-visible,.cite-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cite-output{font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;min-height:3rem}.cite-output .tok-key{color:var(--accent)}.cite-output .tok-punct{color:var(--mute)}.cite-output .tok-journal{color:var(--accent)}.cite-output .tok-author{color:var(--mute)}.centres{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.6rem 3rem}.centres li{border-top:2px solid var(--blood);padding-top:.7rem}.centres h3{font-size:1.15rem;font-weight:500;margin-bottom:.3rem}.centres h3 a{text-decoration:none}.centres h3 a:hover{text-decoration:underline}.centres .note{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute)}.centres p{margin:.25rem 0;font-size:var(--fs-small);color:var(--mute)}.centres p a{color:var(--ink)}.blood-count{font-family:var(--sans);color:var(--blood);font-size:var(--fs-small);font-weight:600}.gate{max-width:var(--measure);margin:0 auto}.gate-form{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:flex-end;margin:1.5rem 0}.gate-form label{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);display:block}.gate-form input{font:inherit;font-size:1.3rem;letter-spacing:.3em;padding:.4rem 0;border:0;border-bottom:1px solid var(--ink);background:0 0;color:var(--ink);width:10ch;border-radius:0}.gate-form button{font:inherit;font-family:var(--sans);font-size:var(--fs-small);background:var(--ink);color:var(--paper);border:0;padding:.55rem 1.2rem;cursor:pointer;border-radius:2px}.gate-form button:hover{background:var(--accent)}.gate-status{flex-basis:100%;font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);min-height:1.2em;margin:0}.gate-viewer iframe{width:100%;height:min(80vh,1100px);border:1px solid var(--rule);background:#fff}.gate-open{display:inline-block;margin-top:.8rem;font-family:var(--sans);font-size:var(--fs-small)}.lost{text-align:center;padding:2rem var(--gutter)5rem}.lost .word{font-size:clamp(4rem,14vw,11rem);font-weight:300;color:var(--rule);line-height:1}.balloon{position:fixed;right:calc(1rem + env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:110;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;font-family:var(--sans)}@media(min-width:960px){.balloon{display:none}}.balloon-button{all:unset;cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:2px;font-size:1.1rem;line-height:1}.balloon-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.balloon-button[aria-expanded=true]{background:var(--ink);color:var(--paper)}.balloon-menu{width:min(14.5rem,calc(100vw - 2rem - env(safe-area-inset-right,0px)));max-height:min(72vh,32rem);overflow-y:auto;background:var(--paper);border:1px solid var(--ink);border-radius:2px;opacity:0;transform:translateY(8px);transition:opacity .14s ease-out,transform .14s ease-out}.balloon-menu.is-open{opacity:1;transform:none}.balloon-sections,.balloon-site,.balloon-more{display:flex;flex-direction:column}.balloon-row{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.55rem .9rem;color:var(--ink);font-family:var(--serif);font-size:1rem;line-height:1.3;text-decoration:none;border-top:1px solid var(--rule-soft);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balloon-sections .balloon-row:first-child{border-top:0}.balloon-row:hover{background:var(--accent-soft)}.balloon-row:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.balloon-row.is-active{color:var(--accent);font-weight:600}.balloon-row.is-active::before{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:2px;background:var(--accent)}.balloon-marker{color:var(--mute);font-family:var(--sans);font-size:.75em}.balloon-row.is-active .balloon-marker{color:var(--accent)}.balloon-site{border-top:1px solid var(--ink)}.balloon-small{font-family:var(--sans);font-size:var(--fs-meta);color:var(--mute);padding:.42rem .9rem;border-top:1px solid var(--rule-soft)}.balloon-site>.balloon-small:first-child{border-top:0}.balloon-small:hover{color:var(--ink)}.balloon-more .balloon-small{padding-left:1.4rem}.balloon-small[data-more][aria-expanded=true]{color:var(--ink)}.balloon-small[data-more]::after{content:"+";color:var(--accent);font-family:var(--sans)}.balloon-small[data-more][aria-expanded=true]::after{content:"–"}.balloon-check{width:.6em;height:.6em;border:1px solid;border-radius:1px;display:inline-block;align-self:center}.balloon-small[aria-pressed=true],.balloon-small[aria-checked=true]{color:var(--accent)}.balloon-small[aria-pressed=true] .balloon-check,.balloon-small[aria-checked=true] .balloon-check{background:currentColor}main [tabindex="-1"]:focus-visible{outline:1px dashed var(--accent);outline-offset:10px;border-radius:2px}html:lang(my) .balloon-row{font-size:1rem;line-height:1.8}@media(prefers-reduced-motion:reduce){.balloon-menu{transition:none}}.colophon{border-top:1px solid var(--ink);margin-top:2rem;font-family:var(--sans);font-size:var(--fs-small);color:var(--mute)}.contact{max-width:var(--page);margin:0 auto;padding:3rem var(--gutter)2.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem 2.5rem}.colophon a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}.colophon a:hover{border-color:var(--accent)}.colophon-lead{font-family:var(--serif);font-size:1.7rem;color:var(--ink);margin:0 0 .3rem;font-weight:300}.colophon-email{font-family:var(--serif);font-size:1.4rem;margin:0 0 .8rem}.colophon-email a{border:0;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.2em}.colophon-line{margin:0;line-height:1.6}.colophon-h{font-family:var(--sans);font-size:var(--fs-meta);font-weight:600;color:var(--mute);margin:0 0 .6rem}.colophon .plain li{margin:0 0 .35rem}.colophon-tech{border-top:1px solid var(--rule-soft)}.colophon-tech>*{max-width:var(--page);margin:0 auto}.colophon-tech{padding:1.2rem 0 2.5rem}@media(max-width:959px){.colophon-tech{padding-bottom:5.5rem}}.colophon-tech p{font-size:var(--fs-meta);line-height:1.55;margin:0 auto .5rem;padding:0 var(--gutter);max-width:var(--page)}.colophon-tools{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-top:.8rem!important}.colophon-tools .linklike{text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule);display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-meta)}.palette-toggle .ishihara{width:1.1em;height:1.1em;border-radius:50%;display:none}:root[data-theme=dark] .palette-toggle .ishihara-off{filter:invert(1)}:root:not([data-palette=colorblind]) .palette-toggle .ishihara-off,:root[data-palette=colorblind] .palette-toggle .ishihara-on{display:inline-block}.balloon-row[data-palette-toggle][aria-pressed=true],.balloon-row[data-palette-toggle][aria-checked=true],.palette-toggle[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}.theme-dot{width:.75em;height:.75em;border-radius:50%;border:1px solid var(--ink);background:linear-gradient(90deg,var(--ink) 50%,transparent 50%);display:inline-block}@media(max-width:899px){.contact{grid-template-columns:1fr 1fr 1fr}.contact-main{grid-column:1/4}}@media(max-width:519px){.contact{grid-template-columns:1fr}.contact-main{grid-column:1}}@media(max-width:959px){.spine{--spine-x:1.1rem;--gap:0px;--row-top:1.6rem;--row-bottom:1.8rem}.row{grid-template-columns:1fr;padding-left:var(--spine-x)}.row>.voice-l,.row>.voice-r{border-right:0;border-left:1px solid var(--ink);padding:var(--row-top)0 var(--row-bottom)1.5rem;margin:0}.row.asym{grid-template-columns:1fr}.row.asym::before{left:var(--spine-x)}.lately-row{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.row>.voice-l{padding-bottom:0}.row>.voice-r{padding-top:2.4rem}.row::before{left:var(--spine-x);transform:translateX(-50%);top:calc(var(--row-top) + .35rem)}.voice-l,.voice-l .kicker,.voice-l h2,.voice-l ul,.voice-l ol{text-align:left}.voice-l p{margin-left:0}.voice-l .bib li{grid-template-columns:auto 1fr}.voice-l .bib .year{order:0;text-align:left}.voice-l .covers{justify-content:start}.row-full{grid-column:1;text-align:left}.portrait-row{justify-content:flex-start;padding:1.2rem 0 0;margin-bottom:-1.5rem;position:relative;z-index:2}.portrait{--d:88px;width:var(--d);height:var(--d);margin-left:calc(var(--spine-x) - .3 * var(--d))}.row>.intro-body{padding-top:2.6rem}.hero>.voice-l{padding-top:2.8rem}.row>.wide{padding-left:1.5rem;border-left:1px solid var(--ink);max-width:none}.wide .kicker{text-align:left}.home .chron details,.home .bib .venue,.home .wide-more{display:none}.more{margin-top:.8rem}}@media(max-width:699px){.home .chron-details p:nth-child(n+2),.home .bib li:nth-child(n+4),.home .datelist li:nth-child(n+3),.home .projects li:nth-child(n+3){display:none}.lately-row{max-width:none}.hero{display:none}.intro{display:grid}.intro-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}.intro-tagline{font-size:1.45rem;line-height:1.25;margin:0 0 1rem;color:var(--ink)}.intro-body{padding-bottom:1.6rem}.row>.intro-body{border-left:1px solid var(--ink)}}@media(min-width:700px) and (max-width:959px){.hero{grid-template-columns:1fr 1fr}.hero>.voice-l{border-left:1px solid var(--ink);padding-right:1.5rem;padding-bottom:var(--row-bottom)}.hero>.voice-r{border-left:0;padding-top:var(--row-top)}}@media(max-width:519px){.row>.voice-l,.row>.voice-r,.row>.wide,.row>.intro-body{padding-left:1.1rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}html{scroll-behavior:smooth}.print-colophon{display:none}@media print{.masthead,.colophon,.filter,details.cite,.covers-block,#now-playing,.skip,.intro,.balloon{display:none!important}body{font-size:11pt;color:#000;background:#fff}.row>.voice-l,.row>.voice-r{border:0}.row::before{display:none}.row{grid-template-columns:1fr}a{text-decoration:none;color:inherit}.print-colophon{display:block;margin:2.4rem auto 0;padding:0 var(--gutter);text-align:center;break-inside:avoid}.print-mark{margin:0 0 .6rem;line-height:0}.print-mark img{width:22pt;height:auto;display:inline-block}.print-set{font-family:var(--serif);font-size:9pt;font-style:italic;line-height:1.5;margin:0 auto;color:#000;max-width:34em}.print-set em{font-style:normal;font-weight:600}.print-source{font-family:var(--sans);font-size:7.5pt;letter-spacing:.02em;margin:.6rem 0 0;color:#444;overflow-wrap:anywhere}}