.home-root{--ink:#121014;--ink-2:#191620;--paper:#efe9df;--dim:#8d8496;--ember:#e8b873;--line:#efe9df24;background:var(--ink);color:var(--paper);flex-direction:column;min-height:100svh;font-family:Fraunces,Georgia,serif;font-weight:340;display:flex;position:relative;overflow-x:hidden}.home-root *{box-sizing:border-box}.home-root .glow{pointer-events:none;z-index:0;background:radial-gradient(70% 55% at 82% -10%,#e8b87321,#0000 60%),radial-gradient(60% 50% at -10% 110%,#5a468224,#0000 65%);position:fixed;inset:0}.home-root .grain{pointer-events:none;z-index:1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");animation:9s steps(6,end) infinite home-grain;position:fixed;inset:-50%}@keyframes home-grain{0%,to{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-2%,-3%)}80%{transform:translate(4%,4%)}}.home-root main{z-index:2;flex-direction:column;flex:1;justify-content:center;width:min(920px,100% - 3rem);margin:0 auto;padding:4.5rem 0 3rem;display:flex;position:relative}.home-root .mono{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.home-root .hello{align-items:center;gap:1rem;display:flex}.home-root .hello:after{content:"";background:var(--ember);opacity:.7;width:4.5rem;height:1px}.home-root h1{letter-spacing:-.015em;font-variation-settings:"opsz" 144;margin:1.4rem 0 1.6rem;font-size:clamp(3.1rem,11vw,7.2rem);font-weight:560;line-height:.98}.home-root h1 em{color:var(--ember);font-style:italic;font-weight:340}.home-root .bio{color:#efe9dfd1;max-width:34ch;font-size:clamp(1.05rem,2.2vw,1.3rem);line-height:1.55}.home-root .bio i{color:var(--dim)}.home-root .projects{border-top:1px solid var(--line);margin-top:4.2rem}.home-root .project{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:3.2rem 1fr auto;align-items:baseline;gap:1rem;padding:1.55rem .4rem;text-decoration:none;transition:background .35s,padding-left .35s;display:grid}.home-root .project:hover{background:var(--ink-2);padding-left:1.1rem}.home-root .project .num{color:var(--dim);font-family:IBM Plex Mono,monospace;font-size:.72rem}.home-root .project .name{font-size:clamp(1.5rem,3.6vw,2.1rem);font-weight:560;transition:color .35s}.home-root .project:hover .name{color:var(--ember)}.home-root .project .desc{color:var(--dim);margin-top:.3rem;font-size:.98rem;font-style:italic;display:block}.home-root .project .arrow{color:var(--dim);font-family:IBM Plex Mono,monospace;font-size:.85rem;transition:transform .35s,color .35s}.home-root .project:hover .arrow{color:var(--ember);transform:translate(.4rem)}.home-root .devlogs{margin-top:2.4rem}.home-root .devlogs a{color:var(--ember);text-decoration:none}.home-root .devlogs a:hover{text-decoration:underline}.home-root footer{z-index:2;justify-content:space-between;align-items:center;width:min(920px,100% - 3rem);margin:0 auto;padding:2rem 0 2.2rem;display:flex;position:relative}.home-root .r{opacity:0;animation:.9s cubic-bezier(.19,1,.22,1) forwards home-rise;transform:translateY(18px)}.home-root .r2{animation-delay:.12s}.home-root .r3{animation-delay:.24s}.home-root .r4{animation-delay:.38s}.home-root .r5{animation-delay:.5s}.home-root .r6{animation-delay:.62s}.home-root .r7{animation-delay:.74s}.home-root .r8{animation-delay:.88s}@keyframes home-rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.home-root .r{opacity:1;animation:none;transform:none}.home-root .grain{animation:none}}@media (width<=560px){.home-root .project{grid-template-columns:2.2rem 1fr auto;padding:1.25rem .2rem}}.recent{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.4rem}.recent>.mono{margin-bottom:.7rem}.rpost{border-top:1px solid #efe9df0f;align-items:baseline;gap:1rem;padding:.5rem 0;text-decoration:none;display:flex}.rpost:first-of-type{border-top:0}.rpost .rdate{letter-spacing:.08em;flex-shrink:0}.rpost .rtitle{color:var(--paper);font-size:1.02rem;font-weight:560;line-height:1.35}.rpost:hover .rtitle{color:var(--ember)}.rpost .rlabel{letter-spacing:.08em;opacity:.75;flex-shrink:0;margin-left:auto}@media (width<=560px){.rpost{flex-wrap:wrap;gap:.2rem .8rem}.rpost .rlabel{flex-basis:100%;margin-left:0}}
