body,html{margin:0;height:100%;background:#0d1a16;overflow:hidden;overscroll-behavior:none}canvas#scene{width:100%;height:100%;display:block;touch-action:none}#veil,canvas#scene{position:fixed;inset:0}#veil{z-index:3;display:grid;place-items:center;background:#10201b;color:rgba(169,203,185,.7);font:500 11px/1.4 ui-sans-serif,system-ui,-apple-system,sans-serif;letter-spacing:.22em;text-transform:uppercase;transition:opacity 1.4s ease}#veil.hidden{opacity:0;pointer-events:none}.js #veil:after{content:attr(data-label)}.no-webgl #veil{background:#10201b url(/og.jpg) 38% 50%/cover no-repeat}.js.no-webgl #veil:after{content:none}#ui{--mode:wide;--u:min(1vw,1.78vh);--mx:max(calc(4.4 * var(--u)),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--my:max(calc(3.4 * var(--u)),env(safe-area-inset-bottom,0px));--cream:#faf3e0;--cream-2:hsla(44,72%,93%,.82);--cream-3:hsla(44,72%,93%,.56);--hair:hsla(44,72%,93%,.32);--deep:6,26,28;--gold:#ffdc8f;--name-ink:#faf3e0;--serif:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--shade:0 1px 1.5px rgba(var(--deep),0.62),0 0 0.9em rgba(var(--deep),0.46);position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;color:var(--cream);font:400 clamp(11px,calc(.9 * var(--u)),20px) /1.3 var(--sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#ui *,#ui :after,#ui :before{box-sizing:border-box}#ui a,#ui button{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#ui a{color:inherit;text-decoration:none}#ui ul{list-style:none;padding:0}#ui h1,#ui h2,#ui h3,#ui p,#ui ul{margin:0}#ui svg{display:block}#ui .stage{position:absolute;inset:0;transition:opacity .24s ease,visibility .24s}body.free-cam #ui .stage{opacity:0;visibility:hidden}#ui .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--deep),.54) 0,rgba(var(--deep),.3) 12%,rgba(var(--deep),0) 28%)}#ui .ident{position:absolute;top:calc(5.6 * var(--u));right:var(--mx);display:flex;flex-direction:column;align-items:flex-end}#ui .name{--name-w:calc(37 * var(--u));position:relative;flex:none;width:var(--name-w);aspect-ratio:6.628;font-size:0;line-height:0;font-weight:inherit}#ui .name-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);color:var(--name-ink);font:600 calc(var(--name-w) * .1984) /1 var(--serif);font-variation-settings:"opsz" 72,"SOFT" 100,"WONK" 1;letter-spacing:-.012em;white-space:nowrap;text-shadow:0 .02em .01em rgba(8,40,58,.34),0 .06em .2em rgba(8,40,58,.36)}.js #ui .name-text{opacity:0}.js #ui.no-art .name-text{opacity:1}#ui .name .art{position:absolute;left:-5%;right:-5%;top:calc(-1 * var(--bleed-y, 20%));bottom:calc(-1 * var(--bleed-y, 20%));pointer-events:none}#ui .name .art-in,#ui .name .art-in>*{position:absolute;inset:0;width:100%;height:100%}#ui .name .f{visibility:hidden}#ui .name .f.on{visibility:visible}#ui .name .tinted{background:var(--name-ink);-webkit-mask:var(--src) center /100% 100% no-repeat;mask:var(--src) center /100% 100% no-repeat}#ui .name .shadow.soft{opacity:.4;filter:blur(calc(.95 * var(--u)));translate:0 calc(.55 * var(--u))}#ui .name .shadow.tight{opacity:.34;filter:blur(calc(.07 * var(--u)));translate:0 calc(.13 * var(--u))}#ui .role{margin-top:calc(1.5 * var(--u));margin-right:-.24em;font-weight:600;font-size:.96em;line-height:1.75;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 1.5px rgba(var(--deep),.7),0 0 .45em rgba(var(--deep),.42),0 0 1.3em rgba(var(--deep),.44)}#ui .role span{display:inline-block}#ui .role i{position:relative;top:.05em;margin:0 .14em 0 -.1em;font:italic 500 1.62em/0 var(--serif);letter-spacing:0;text-transform:none;color:var(--gold)}#ui .contact{display:flex;align-items:center;gap:calc(1.1 * var(--u));margin-top:calc(1.5 * var(--u))}#ui .social{display:flex;gap:calc(.3 * var(--u))}#ui .social a{display:grid;place-items:center;width:calc(2.4 * var(--u));height:calc(2.4 * var(--u));min-width:28px;min-height:28px;border-radius:50%;outline:none;transition:color .2s ease,translate .28s cubic-bezier(.2,.8,.2,1)}#ui .social svg{width:calc(1.3 * var(--u));height:calc(1.3 * var(--u));min-width:15px;min-height:15px;filter:drop-shadow(0 1px 1.5px rgba(var(--deep),.55))}#ui .card .c-open,#ui .discord{display:inline-flex;align-items:center;justify-content:center;gap:.62em;height:calc(2.6 * var(--u));min-height:30px;padding:0 calc(1.2 * var(--u)) 0 calc(.95 * var(--u));border-radius:999px;background:var(--cream);color:#0c2a2d;font-weight:650;font-size:.98em;white-space:nowrap;outline:none;box-shadow:0 calc(.5 * var(--u)) calc(1.5 * var(--u)) rgba(var(--deep),.3),0 1px 2px rgba(var(--deep),.28);transition:translate .28s cubic-bezier(.2,.8,.2,1),scale .2s ease,background-color .2s ease,box-shadow .28s ease}#ui .discord svg{width:1.42em;height:1.42em}#ui .card .c-open:focus-visible,#ui .discord:focus-visible,#ui .social a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#ui .social a:active{color:var(--gold)}#ui .card .c-open:active,#ui .discord:active{scale:.97;background:#fff}@media (hover:hover){#ui .social a:hover{color:var(--gold);translate:0 calc(-.2 * var(--u))}#ui .discord:hover{background:#fff;translate:0 calc(-.16 * var(--u));box-shadow:0 calc(.8 * var(--u)) calc(2 * var(--u)) rgba(var(--deep),.36),0 1px 2px rgba(var(--deep),.28)}}#ui .work{position:absolute;left:var(--mx);right:var(--mx);bottom:var(--my);display:flex;justify-content:space-between;align-items:flex-end;gap:calc(2 * var(--u))}#ui .group ul{display:flex;gap:calc(2.3 * var(--u))}#ui .group h2{display:flex;align-items:center;gap:1.1em;margin-bottom:calc(1.05 * var(--u));font:700 .78em/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-2);text-shadow:var(--shade)}#ui .group h2:after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--hair),hsla(44,72%,93%,0))}#ui .proj{position:relative;display:flex;flex-direction:column;gap:.24em;outline:none;transition:opacity .25s ease}#ui .proj:focus-visible{outline:2px solid var(--gold);outline-offset:.5em;border-radius:.4em}#ui .pname{position:relative;width:-moz-fit-content;width:fit-content;font:500 1.46em/1.12 var(--serif);letter-spacing:-.004em}#ui .pname,#ui .ptag{white-space:nowrap;text-shadow:var(--shade)}#ui .ptag{font-size:.87em;line-height:1.2;color:var(--cream-2);transition:color .2s ease}#ui .pdesc{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}#ui .work.has-open .proj:not(.is-open){opacity:.58}#ui .proj.is-open .ptag{color:var(--cream)}#ui .underline{position:absolute;left:-3%;bottom:-.34em;width:106%;height:.4em;pointer-events:none;color:var(--gold);filter:drop-shadow(0 1px 1px rgba(var(--deep),.5));animation:ui-wipe .3s cubic-bezier(.3,.7,.2,1) backwards}#ui .underline svg{display:block;width:100%;height:100%;overflow:visible}#ui .underline path{fill:none;stroke:currentColor;stroke-width:max(1.6px,calc(.17 * var(--u)));stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;visibility:hidden}#ui .underline path.on{visibility:visible}#ui .card{position:absolute;left:0;top:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:calc(.8 * var(--u)) calc(.95 * var(--u));width:calc(22.5 * var(--u));min-width:264px;max-width:calc(100vw - 24px);padding:calc(1.05 * var(--u));border:1px solid hsla(44,72%,93%,.17);border-radius:calc(1.15 * var(--u));background:rgba(8,30,32,.8);box-shadow:0 calc(1.2 * var(--u)) calc(3.4 * var(--u)) rgba(3,16,18,.42);-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);opacity:0;visibility:hidden;transform:translateY(calc(.5 * var(--u))) scale(.985);transition:opacity .18s ease,visibility .18s,transform .24s cubic-bezier(.2,.8,.2,1),translate .28s cubic-bezier(.2,.8,.2,1)}#ui .card.show{opacity:1;visibility:visible;transform:none}#ui .card.pinned{pointer-events:auto}#ui .card .thumb{position:relative;display:block;width:calc(3.7 * var(--u));height:calc(3.7 * var(--u));min-width:44px;min-height:44px;border-radius:24%;background:#17383a}#ui .card .thumb img{position:absolute;inset:0;width:100%;height:100%;max-width:none;-o-object-fit:cover;object-fit:cover;border-radius:inherit}#ui .card .thumb img[hidden]{display:none}#ui .card .thumb b{position:absolute;inset:0;display:grid;place-items:center;font:500 1.5em/1 var(--serif)}#ui .card .c-head{min-width:0}#ui .card strong{display:block;font:500 1.52em/1.1 var(--serif);letter-spacing:-.005em}#ui .card .c-meta{display:flex;align-items:center;gap:.4em;margin-top:.42em;font-size:.88em;line-height:1.2;color:var(--cream-3);white-space:nowrap}#ui .card .c-meta svg{width:.95em;height:.95em;flex:none;color:var(--gold)}#ui .card p{grid-column:1/-1;font-size:1.02em;line-height:1.48;color:var(--cream-2);text-wrap:pretty}#ui .card .c-open{display:none;grid-column:1/-1;min-height:40px;margin-top:calc(.2 * var(--u));box-shadow:none}#ui .card.pinned .c-open{display:flex}#ui .card.pinned .c-meta svg{display:none}#ui .card .c-open span{overflow:hidden;text-overflow:ellipsis}#ui .card .c-open svg{width:1em;height:1em;flex:none}@media (max-width:1100px){#ui .group ul{gap:calc(1.5 * var(--u))}}@media (max-height:519px) and (min-aspect-ratio:1/1){#ui{font-size:10px}#ui .ident{top:max(calc(4 * var(--u)),16px)}#ui .ptag{display:none}#ui .proj{padding:.75em 0 .2em}#ui .pname{font-size:1.5em}#ui .group h2{margin-bottom:0}#ui .group ul{gap:calc(2.4 * var(--u))}#ui .social a{min-width:34px;min-height:34px}#ui .discord{min-height:32px}}@media (max-aspect-ratio:1/1),(max-width:900px) and (min-height:520px){#ui{--mode:tall;--u:clamp(7px,min(2.564vw,1.5vh),14px);--mx:max(calc(2 * var(--u)),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--my:calc(env(safe-area-inset-bottom, 0px) + 1.7 * var(--u));font-size:calc(1.3 * var(--u))}#ui .scrim{background:linear-gradient(to top,rgba(var(--deep),.72) 0,rgba(var(--deep),.56) 14%,rgba(var(--deep),.26) 25%,rgba(var(--deep),0) 38%)}#ui .ident{top:max(calc(env(safe-area-inset-top, 0px) + 2.4 * var(--u)),calc(15.5vh - 8 * var(--u)));left:0;right:0;align-items:center;text-align:center}#ui .name{--name-w:calc(31 * var(--u))}#ui .role{margin:calc(1.7 * var(--u)) 0 0;padding-left:.22em;font-size:max(10.5px,calc(1.15 * var(--u)));line-height:1.72;letter-spacing:.22em;white-space:normal}#ui .role>span{display:block}#ui .contact{justify-content:center;gap:calc(.9 * var(--u));margin-top:calc(1.5 * var(--u))}#ui .social{gap:0}#ui .social a{width:calc(4.1 * var(--u));height:calc(4.1 * var(--u));min-width:36px;min-height:36px}#ui .social svg{width:calc(1.9 * var(--u));height:calc(1.9 * var(--u))}#ui .discord{height:calc(4 * var(--u));min-height:34px;padding:0 calc(1.7 * var(--u)) 0 calc(1.35 * var(--u));font-size:calc(1.36 * var(--u))}#ui .work{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:start;-moz-column-gap:calc(4.2 * var(--u));column-gap:calc(4.2 * var(--u))}#ui .group ul{display:block}#ui .group h2{margin-bottom:calc(.3 * var(--u));font-size:calc(1.02 * var(--u))}#ui .proj{justify-content:center;gap:.16em;min-height:calc(4.4 * var(--u))}#ui .pname{font-size:calc(1.72 * var(--u))}#ui .ptag{font-size:max(10px,calc(1.1 * var(--u)))}#ui .card{gap:calc(.9 * var(--u)) calc(1.1 * var(--u));width:min(calc(100vw - 2 * var(--mx)),calc(36 * var(--u)));padding:calc(1.3 * var(--u));border-radius:calc(1.5 * var(--u));background:rgba(8,30,32,.86)}#ui .card .thumb{width:calc(4.8 * var(--u));height:calc(4.8 * var(--u))}#ui .card .c-open{height:calc(4.2 * var(--u));font-size:calc(1.36 * var(--u))}@media (max-height:780px){#ui{--my:calc(env(safe-area-inset-bottom, 0px) + 1.1 * var(--u))}#ui .group h2{margin-bottom:0}#ui .proj{min-height:calc(4 * var(--u))}}}@supports (height:1dvh){@media (max-aspect-ratio:1/1),(max-width:900px) and (min-height:520px){#ui{--u:clamp(7px,min(2.564vw,1.5dvh),14px)}#ui .ident{top:max(calc(env(safe-area-inset-top, 0px) + 2.4 * var(--u)),calc(15.5dvh - 8 * var(--u)))}}}.js #ui:not(.is-in) .discord,.js #ui:not(.is-in) .name .art,.js #ui:not(.is-in) .name-text,.js #ui:not(.is-in) .role,.js #ui:not(.is-in) .social,.js #ui:not(.is-in) .work{opacity:0;animation:ui-show .6s ease 6s forwards}#ui.is-in .name .art{animation:ui-write 1.5s cubic-bezier(.65,.02,.25,1) .1s backwards}#ui.is-in .role{animation:ui-rise .9s cubic-bezier(.2,.7,.2,1) 1s backwards}#ui.is-in .social{animation:ui-rise .9s cubic-bezier(.2,.7,.2,1) 1.15s backwards}#ui.is-in .discord{animation:ui-rise .9s cubic-bezier(.2,.7,.2,1) 1.25s backwards}#ui.is-in .work{animation:ui-rise .9s cubic-bezier(.2,.7,.2,1) 1.4s backwards}@keyframes ui-show{to{opacity:1}}@keyframes ui-write{0%{-webkit-clip-path:inset(-80% 106% -80% -12%);clip-path:inset(-80% 106% -80% -12%)}to{-webkit-clip-path:inset(-80% -12% -80% -12%);clip-path:inset(-80% -12% -80% -12%)}}@keyframes ui-rise{0%{opacity:0;translate:0 calc(.7 * var(--u))}to{opacity:1;translate:0 0}}@keyframes ui-wipe{0%{-webkit-clip-path:inset(-200% 100% -200% 0);clip-path:inset(-200% 100% -200% 0)}to{-webkit-clip-path:inset(-200% -5% -200% -5%);clip-path:inset(-200% -5% -200% -5%)}}@media (prefers-reduced-motion:reduce){#ui .underline,#ui.is-in .discord,#ui.is-in .name .art,#ui.is-in .role,#ui.is-in .social,#ui.is-in .work{animation:none}#ui .card,#ui .discord,#ui .social a{transition:none}}#ui .mode-note{position:absolute;left:50%;bottom:var(--my);transform:translateX(-50%);display:flex;align-items:center;gap:.7em;padding:.7em 1.2em;border-radius:999px;background:rgba(8,30,32,.72);font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}#ui .mode-note kbd{padding:.1em .5em;border:1px solid hsla(44,72%,93%,.45);border-radius:.35em;font:inherit}body.free-cam #ui .mode-note{opacity:1;visibility:visible}