@font-face{font-family:Inter;src:url('/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--page:oklch(1 0 0);--ink:oklch(.352 0 0);--muted:oklch(.352 0 0);--title:oklch(.285 0 0);--category:oklch(.545 0 0);--line:oklch(.93 0 0);--underline:oklch(.71 0 0);--logo-muted:oklch(.528 0 0);font-family:Inter,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:root[data-theme=dark]{color-scheme:dark;--page:oklch(.439 0 0);--ink:oklch(.885 0 0);--muted:oklch(.770 0 0);--title:oklch(.885 0 0);--category:oklch(.770 0 0);--line:oklch(.58 0 0);--underline:oklch(.770 0 0);--logo-muted:oklch(.770 0 0)}
:root.theme-changing *, :root.theme-changing *::before, :root.theme-changing *::after{transition:none!important}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--page)}
body{margin:0;min-width:320px;background:var(--page);color:var(--ink);font-size:14px;line-height:20px}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:2px;touch-action:manipulation;transition:text-decoration-color 180ms ease}
@media(hover:hover) and (pointer:fine){a{text-decoration-color:transparent}}
a:hover{text-decoration-color:var(--ink)}
a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px;text-decoration-color:var(--ink)}
.tenor-link{white-space:nowrap}
.tenor-mark{width:14px;height:14px;margin-right:4px;vertical-align:-2px}
.atlasgrid-link{white-space:nowrap}
.atlasgrid-mark{width:10px;height:17px;margin-right:5px;vertical-align:-4px}
.wisely-link{white-space:nowrap}
.wisely-mark{width:17px;height:17px;margin-right:2px;vertical-align:-3px}
h1,h2,p{margin:0}
h1,h2,.row-title{color:var(--title)}
.page{position:relative;width:min(calc(100% - 40px),550px);margin:0 auto;padding:80px 0 40px}
.avatar{display:block;width:32px;height:32px;margin-bottom:12px;border-radius:50%}
.theme-toggle{position:absolute;top:80px;right:0;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;touch-action:manipulation}
@media(hover:hover) and (pointer:fine){html,body{cursor:url('/cursor-self.svg') 3 2,auto}a,.theme-toggle{cursor:url('/cursor-self.svg') 3 2,pointer}}
.theme-toggle:hover{color:var(--ink)}
.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.theme-icon{width:18px;height:18px}
.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}
:root[data-theme=dark] .theme-icon-sun{display:block}
:root[data-theme=dark] .tenor-mark,:root[data-theme=dark] .atlasgrid-mark,:root[data-theme=dark] .wisely-mark{filter:invert(1);opacity:.85}
.presence-layer{position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none}
.presence-cursor{position:absolute;top:0;left:0;color:var(--cursor-color);transition:transform 150ms linear}
.presence-cursor svg{display:block;filter:drop-shadow(0 1px 1px oklch(0 0 0 / .18))}
.presence-color-0{--cursor-color:oklch(.830 .103 229.8)}
.presence-color-1{--cursor-color:oklch(.766 .117 44.7)}
.presence-color-2{--cursor-color:oklch(.756 .131 297.9)}
.presence-color-3{--cursor-color:oklch(.787 .105 163.6)}
.presence-color-4{--cursor-color:oklch(.758 .127 354.6)}
.skip-link{position:absolute;top:-100px;left:16px;z-index:30;padding:8px 12px;background:var(--ink);color:var(--page)}
.skip-link:focus{top:12px}
.intro h1{font-size:14px;line-height:20px;font-weight:500;letter-spacing:-.005em}
.updated{margin-top:4px;color:var(--muted)}
.prose{margin-top:28px}
.prose p{margin-bottom:16px;text-wrap:pretty}
.prose p:last-child{margin-bottom:0}
.back{margin-bottom:32px;color:var(--muted)}
.section{margin-top:48px;scroll-margin-top:24px}
.section h2{margin:0;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:14px;line-height:20px;font-weight:450}
.work-section{margin-top:40px}
.work-section h2{margin-bottom:8px;padding-bottom:0;border-bottom:0;color:var(--category)}
.work-section .index-row{min-height:34px;padding:7px 0;border-bottom:0}
.index-list{width:100%}
.index-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:48px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none}
.index-row[href] .row-title{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:text-decoration-color 180ms ease}
.index-row[href]:hover .row-title,.index-row[href]:focus-visible .row-title{text-decoration-color:var(--title)}
.row-content{display:flex;flex-direction:column;min-width:0;gap:2px}
.row-title{font-weight:500}
.row-sub{color:var(--muted);font-size:12px;line-height:18px}
.row-meta{color:var(--muted);font-family:Inter,Arial,sans-serif;font-size:12px;white-space:nowrap;text-align:right}
.section-note{margin-top:14px;color:var(--ink)}
.contributions{padding-top:14px}
.contributions p{margin-bottom:16px}
.contributions p:last-child{margin-bottom:0}
.footer{margin-top:64px;color:var(--muted);font-size:12px}
.footer-time{white-space:nowrap}
@media(max-width:600px){.page{padding-top:48px;padding-bottom:32px}.theme-toggle{top:48px}.section{margin-top:44px}.work-section{margin-top:40px}}
@media(max-width:380px){.page{width:calc(100% - 32px)}.index-row{gap:10px}.row-meta{font-size:11px}}
@media(prefers-reduced-motion:reduce){a,.index-row[href] .row-title,.presence-cursor{transition:none}}
