:root{--p-bg:#dfdedb;--p-surface:#d3d2ce;--p-ink:#26251e;--p-muted:#5a5850;--p-accent:#2456d6;--p-accent-ink:#fff;--p-action:#2456d6;--p-action-ink:#fff;--p-inv-bg:#26251e;--p-inv-surface:#313029;--p-inv-ink:#dfdedb;--p-inv-muted:#9e9d99;--p-inv-accent:#dfdedb;--p-inv-accent-ink:#26251e;--p-inv-action:#dfdedb;--p-inv-action-ink:#26251e;--font-display:"Host Grotesk", system-ui, sans-serif;--font-text:"Host Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--display-weight:500;--display-tracking:-.035em;--display-tracking-xl:-.04em}.hero__window .ui-code{width:100%}.hero__window .ui-code__pre{font-size:13px}#voxels .panel{--p-h:336px}#voxels .panel.pair{grid-template-columns:1fr 1fr;gap:2px;display:grid}#voxels .panel.pair>img{object-fit:cover;width:100%;height:100%;min-height:0;display:block}.stage>.flip{position:absolute}.flip>.flip__code,.flip>.flip__term{transition:opacity .4s var(--m-ease,ease), transform .4s var(--m-ease,ease)}.flip>.flip__term{position:absolute;inset:0 0 auto}.flip[data-show=code]>.flip__term{opacity:0;pointer-events:none;transform:translateY(14px)}.flip[data-show=term]>.flip__code{opacity:0;pointer-events:none;transform:translateY(-10px)}.flip .ui-code{width:100%}.flip .ui-term{width:100%;max-width:none}@media (prefers-reduced-motion:reduce){.flip>.flip__code,.flip>.flip__term{transition:none}}#more .mo-lt__type{font-size:var(--t-h2);letter-spacing:var(--display-tracking);max-width:20ch;line-height:1.1}#more .bento .panel{--p-h:336px}#more .bento .card>h3 a{color:inherit;text-decoration:none}#more .bento .ui-brand{width:16px;height:auto}.dc{--dc-side:#2b2d31;--dc-main:#313338;--dc-ink:#dbdee1;--dc-mute:#949ba4;--dc-link:#00a8fc;--dc-line:#3f4147;background:var(--dc-main);width:600px;height:420px;color:var(--dc-ink);font:400 12px/1.35 var(--font-text);border-radius:12px;grid-template-columns:160px minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 0 0 1px #00000059,0 24px 48px -24px #0009}.dc__side{background:var(--dc-side);align-content:start;gap:2px;padding:8px;display:grid}.dc__server{border-bottom:1px solid var(--dc-line);color:#f2f3f5;justify-content:space-between;align-items:center;margin-bottom:8px;padding:6px 8px 12px;font-weight:600;display:flex}.dc__cat{font:600 11px/1 var(--font-text);letter-spacing:.02em;text-transform:uppercase;color:var(--dc-mute);padding:10px 8px 4px}.dc__ch{color:var(--dc-mute);border-radius:4px;align-items:center;gap:6px;padding:5px 8px;display:flex}.dc__ch.is-on{color:#f2f3f5;background:#404249}.dc__hash{color:var(--dc-mute);margin-right:1px;font-weight:500}.dc__main{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.dc__head{color:#f2f3f5;border-bottom:1px solid var(--dc-line);align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:flex}.dc__spacer{flex:1}.dc__search{color:var(--dc-mute);background:#1e1f22;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:400}.dc__msgs{align-content:start;gap:10px;padding:10px 14px 0;display:grid;overflow:hidden}.dc__msg{grid-template-columns:32px minmax(0,1fr);gap:10px;display:grid}.dc__av{color:#fff;background:#5865f2;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:600;display:grid}.dc__origin{opacity:.62;gap:4px;display:grid}.dc__eyebrow{font:600 10px/1 var(--font-text);letter-spacing:.03em;text-transform:uppercase;color:var(--dc-mute)}.dc__meta{color:var(--dc-mute)}.dc__flow{color:#23a55a;align-items:center;gap:6px;padding-left:10px;font-size:11px;font-weight:500;display:flex}.dc__av--bot{background:#23a55a}.dc__body{gap:3px;min-width:0;display:grid}.dc__who{color:#f2f3f5;align-items:center;gap:6px;font-weight:500;display:flex}.dc__who time,.dc__reply{color:var(--dc-mute);font-size:11px;font-weight:400}.dc__reply{align-items:center;gap:4px;display:flex}.dc__app{font:600 9px/1 var(--font-text);letter-spacing:.04em;color:#fff;background:#5865f2;border-radius:3px;padding:3px 4px}.dc__mention{color:var(--dc-link);background:#00a8fc1f;border-radius:3px;padding:0 3px}.dc__mention .dc__hash{color:var(--dc-link)}.dc__pics{border-radius:6px;grid-template-columns:repeat(3,1fr);gap:3px;width:300px;height:48px;margin-top:2px;display:grid;overflow:hidden}.dc__pics img{object-fit:cover;width:100%;height:100%;display:block}.dc__embed{background:#2b2d31;border-left:4px solid #5865f2;border-radius:4px;gap:2px;width:300px;padding:6px 10px;display:grid}.dc__embed-title{color:var(--dc-link);font-weight:500}.dc__embed-desc{color:var(--dc-ink)}.dc__embed-foot{color:var(--dc-mute);font-size:11px}.dc__react{border:1px solid var(--dc-line);background:#2b2d31;border-radius:8px;justify-self:start;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.dc__compose{color:var(--dc-mute);background:#383a40;border-radius:8px;gap:4px;margin:10px 14px 14px;padding:9px 12px;display:flex}@media (width>=640px){#more>.wrap{row-gap:calc(var(--padt) + var(--padb) + var(--bar));grid-template-rows:minmax(0,1fr) minmax(0,1fr);display:grid}#more>.wrap>*{align-self:start;min-height:0}}#more .bento>.card{align-self:stretch}@media (width>=1024px) and (width<=1279px){#more .bento>.card.span-6{grid-column:auto/span 6}#more .bento>.card.span-4{grid-column:auto/span 4}#more .bento .panel{--p-h:250px}#more .group .bento .panel{--p-h:288px}#more .section-head p{display:none}}@media (width>=640px) and (width<=1023px){#more>.wrap{gap:var(--s-7);flex-direction:column;display:flex}#more>.wrap>*{flex:none;align-self:stretch}#more .section-head p{display:none}#more .group .bento>.card{grid-column:1/-1}#more .bento>.card{grid-column:auto/span 6}#more>.wrap>.grid:last-child>.card:last-child{grid-column:1/-1}#more .bento .panel,#more .group .bento .panel{--p-h:270px}#more .ui-chat__body>:nth-child(n+5){display:none}#more .bento .card:has(.ui-chat) .stage{--fade-h:24px}#voxels .panel{--p-h:430px}#voxels .panel.pair{grid-template-columns:1fr}}@media (width>=640px) and (width<=1279px){#more .bento .card.span-4 .stage>.fit{width:300px;right:auto}#more .bento .card.span-4 .stage{-webkit-mask:linear-gradient(90deg,#000 calc(100% - 72px),#0000 calc(100% - 4px));mask:linear-gradient(90deg,#000 calc(100% - 72px),#0000 calc(100% - 4px))}}#more .dc-wrap{--ax:24px;--ay:20px}@media (width>=1024px) and (width<=1279px){.dc__side{display:none}.dc{grid-template-columns:minmax(0,1fr);width:432px}#more .dc-wrap{--ax:12px}}@media (width>=640px) and (width<=1023px){.dc__embed,.dc__side>:nth-child(n+6){display:none}#more .bento .card:has(.dc) .stage{--fade-h:40px}}@media (width<=639px){.dc{zoom:.8;grid-template-columns:minmax(0,1fr);width:auto}.dc__side,.dc__origin,.dc__flow,.dc__embed,.dc__compose{display:none}#more .dc-wrap{--ax-sm:8px;--ay-sm:10px}#more .bento .card:has(.dc) .panel{--p-h:120px}#more .ui-chat__body>:nth-child(n+3),#more .ui-chat__input{display:none}#more>.wrap{gap:var(--s-6);flex-direction:column;display:flex}#more>.wrap>*{flex:none}#more .section-head p{display:none}#more .bento .panel{--p-h:100px}#more .bento>.card.span-8 .panel{--p-h:120px}}#voxels .panel>.dg{position:absolute;inset:0}#avionics .frame--split{--ratio:80%}#tylua .frame--split{--ratio:84%;align-self:start}#avionics .screen{width:min(560px, 100% - 2 * var(--ax,56px))}#avionics .screen img{width:100%;height:auto;box-shadow:0 0 0 1px color-mix(in oklab, var(--ink) 14%, transparent), 0 24px 48px -24px color-mix(in oklab, var(--ink) 40%, transparent);border-radius:12px;display:block}#game .frame--photo{--ratio:56.25%}.hero--centred .hero__lead,.job__head p{color:var(--ink)}.icons{gap:var(--s-2);flex-wrap:wrap;display:flex}.job__head{gap:var(--s-2);margin-bottom:var(--s-5);display:grid}.card .points{gap:var(--s-3);margin-top:var(--s-4);display:grid}.card .points li{color:var(--c-text,var(--ink))}.card>.icons{padding-top:var(--s-5);margin-top:auto}.mini .icons{margin-bottom:var(--s-4)}.mini .card__link{padding-top:var(--s-4);margin-top:auto}.skills .t-label{color:var(--muted);margin-bottom:var(--s-3)}@media (width>=640px) and (width<=1023px){#tylua{min-height:100svh}#skills{flex-direction:column;min-height:200svh;display:flex}#skills>.wrap{flex-direction:column;flex:1 0 auto;row-gap:0;display:flex}#skills>.wrap>.group,#skills>.wrap>.rows--edu{flex:none;align-self:stretch}#skills>.wrap>.rows--edu{margin-top:var(--s-4)}#skills>.wrap>.wall-frame{margin-top:var(--s-6);--ratio:0px;flex:auto;align-self:stretch}.wall{grid-template-columns:repeat(5,112px)}.wall .ic-tile{--tile:112px}#tylua .grid>.span-6{grid-column:1/-1}#tylua .frame--split{--ratio:66%}#avionics .section-head p{display:none}#game .grid>.frame--photo:first-of-type{--ratio:45%}#game .grid>.frame--photo:nth-of-type(2){--ratio:33%}#avionics .frame--split{--ratio:70%}}@media (width>=640px) and (width<=899px){#experience .grid>.card.span-6{grid-column:1/-1}#experience .job__head{margin-bottom:var(--s-4)}}@media (width>=640px) and (width<=1023px){#contact .footer__col{grid-column:auto/span 4}}#contact .close__word{font-size:clamp(56px,13.6vw,196px);line-height:.95;overflow:visible}@media (width<=639px){#contact .close__word{font-size:clamp(40px,14.6vw,96px)}}@media (width<=1279px){.nav__logo .nav__name{display:none}}@media (width<=639px){#avionics .frame--split{--ratio:64%}#voxels .panel{--p-h:492px}.hero__window .ui-code__pre{font-size:11.5px}#tylua .frame--split{--ratio:215%}#tylua .flip :is(.ui-code__pre,.ui-term__track){font-size:10.5px}#tylua .flip>.flip__term{margin-top:var(--s-4);position:static}#tylua .flip[data-show]>.flip__code,#tylua .flip[data-show]>.flip__term{opacity:1;pointer-events:auto;transform:none}}#game .frame>.m-zoom{display:block;position:absolute;inset:0}.hero--centred h1{max-width:13.4ch}.hero--centred .hero__lead{max-width:46ch}.hero--centred .hero__window>.ly-piece{top:var(--s-4)}@media (width>=640px) and (width<=1279px){.hero--centred .hero__window>.ly-piece{width:min(880px,72%)}}html[data-buttons=pill] .btn--secondary,html[data-buttons=pill] .btn--secondary:hover{border-color:var(--line-strong)}.tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}#more .bento .card>h3 a{transition:background-size .28s var(--m-ease,ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}#more .bento .card:hover>h3 a,#more .bento .card:focus-within>h3 a{background-size:100% 1px}@media (prefers-reduced-motion:reduce){#more .bento .card>h3 a{transition:none}}#more .ui-chat__ph{color:#4e4c45}.wall-frame{--ratio:86%;padding:0}.wall{gap:var(--s-5);grid-template-columns:repeat(6,80px);display:grid}.wall .ic-tile{--tile:80px}.wall .ic-tile>img.ic{height:var(--ic-s)}@media (width>=1024px){#skills{--h:1}#skills>.wrap{column-gap:var(--gutter);grid-template-rows:none;grid-template-columns:repeat(12,minmax(0,1fr));align-content:start;row-gap:0;display:grid}#skills>.wrap>.group{grid-column:1/span 6;align-self:start}#skills>.wrap>.rows--edu{margin-top:var(--s-4);grid-column:1/span 6;align-self:start}#skills>.wrap>.wall-frame{grid-area:1/7/span 2/span 6;align-self:stretch}}@media (width<=1023px){.wall{justify-content:space-between;width:100%}}@media (width<=639px){.wall-frame{--ratio:75%}.wall{gap:var(--s-2);grid-template-columns:repeat(6,44px)}.wall .ic-tile{--tile:44px}#skills .rows>li{padding-block:var(--s-3)}#skills .rows--edu>li{padding-block:var(--s-2)}#skills>.wrap>.rows--edu{align-self:stretch;margin-top:60px}}#game .frame--photo>a.m-zoom:hover>.frame__img{transform:scale(1.03)}:root{--screen:100svh}@media (width<=639px){:root{--screen:100lvh}}@media (height>=1201px){:root{--screen:1080px}}#tylua,#skills{--g-screen:calc(var(--h,1) * var(--screen))}@media (width<=639px),(width>=640px) and (width<=1279px) and (height>=1201px),(width>=1280px) and (height<=899px),(width>=1280px) and (height>=1201px){main>section.section:not(.hero),footer.closing{height:auto;min-height:calc(var(--h,1) * var(--screen));flex-direction:column;display:flex}main>section.section:not(.hero)>.wrap,footer.closing>.wrap{flex:1 0 auto;height:auto;min-height:0}}@media (width<=639px){main>section.section:not(.hero),footer.closing{min-height:calc(var(--hm,var(--h,1)) * var(--screen))}#tylua,#skills{--g-screen:calc(var(--hm,var(--h,1)) * var(--screen))}}@media (height<=699px){main>.hero{height:auto;min-height:100svh}.hero--centred .hero__window{flex:none;height:clamp(280px,40vw,420px);min-height:0}}@media (width<=389px){.hero--centred .pill{text-align:center;flex-wrap:wrap;justify-content:center;row-gap:2px;height:auto;min-height:32px;padding-block:6px}.hero--centred .pill>span{white-space:nowrap}}.mark[data-mark=js]{--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 1h7v14L5 23 1 19l6-6V5H4zM13 1h10v4h-6l6 6v12H13v-4h6l-6-6z'/%3E%3C/svg%3E")}#tylua.bg-band{background-image:radial-gradient(66% 120% at 0% 0%, color-mix(in oklab, var(--bg) 42%, var(--g-hi,white)), transparent 72%), radial-gradient(52% 96% at 100% 0%, color-mix(in oklab, var(--t-b) 62%, transparent), transparent 76%), radial-gradient(64% 104% at 100% 100%, color-mix(in oklab, var(--t-c) 70%, transparent), transparent 78%);background-blend-mode:normal}#tylua.bg-band:after{content:"";z-index:-1;pointer-events:none;background:var(--g-noise-soft) 0 0 / 240px 240px repeat;mix-blend-mode:soft-light;position:absolute;inset:0}
