html{font-size:clamp(11.5px,.8333vw,20px)}:root{--side:#09090d;--bg:#18181b;--fg:#f4f4f5;--mut:#a1a1aa;--line:#2b2b31;--ind:#4f46e5;--blue:#2563eb;--sky:#0284c7;--d:"Bebas Neue","Oswald","Arial Narrow",Impact,sans-serif;--b:"Outfit","Segoe UI",system-ui,sans-serif;--m:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--sw:clamp(15rem,21vw,26rem);box-sizing:border-box}*,:before,:after{box-sizing:inherit}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--b);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-size:4.5rem 4.5rem;margin:0;font-size:1.125rem;overflow-x:clip}a{color:inherit}:focus-visible{outline:2px solid var(--ind);outline-offset:.1875rem}#side{width:var(--sw);background:var(--side);z-index:5;border-right:1px solid #15151b;padding:1.5rem;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{align-items:center;gap:1.125rem;margin-bottom:1.625rem;display:flex}.brand .av{background:#1c1c24;border:2px solid #fff;border-radius:50%;flex:none;width:4.125rem;height:4.125rem;overflow:hidden}.brand b{font-size:1.1875rem;font-weight:600;display:block}.brand span{font:.75rem var(--m);letter-spacing:.22em;color:#8b8b97}.exp{background:#0d0d12;border:1px solid #1b1b23;border-radius:1rem;padding:0 0 .75rem}.exp .bar{font:.9375rem var(--m);color:#9a9aa6;border-bottom:1px solid #1b1b23;align-items:center;gap:.5rem;padding:.875rem 1rem;display:flex}.exp .bar i{border-radius:50%;width:.8125rem;height:.8125rem}.bar i:first-child{background:#ff5f57}.bar i:nth-child(2){background:#febc2e}.bar i:nth-child(3){background:#28c840;margin-right:.5rem}.tree{font:1.0625rem var(--m);padding:.625rem .5rem}.it{color:#e4e4e7;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.625rem;padding:.5625rem .625rem;text-decoration:none;display:flex}.it:hover,.it.act{background:#ffffff0f}.it .mk{text-align:center;flex:none;width:.875rem;font-size:.8125rem}.it svg{flex:none}.kids{border-left:1px solid #2a2a35;margin-left:1.375rem;padding-left:.375rem}.kids .it{padding-left:.5rem}.fold:not(.open)>.kids{display:none}.fold .chev{color:#9a9aa6;flex:none;width:.875rem;transition:transform .15s}.fold.open>.it .chev{transform:rotate(90deg)}#menu{display:none}main{margin-left:var(--sw);overflow-x:clip}section{flex-direction:column;justify-content:center;min-height:100vh;padding:6rem clamp(1.5rem,4vw,4rem);display:flex;position:relative}.k{font:500 .8125rem var(--m);letter-spacing:.3em;text-transform:uppercase;color:#b4b4bd;margin:0 0 .875rem}h2{font:400 clamp(2.75rem,5vw,4.25rem)/1 var(--d);letter-spacing:.005em;margin:0}h2.i{font-style:italic}.ctr{text-align:center;align-items:center}.sub{color:var(--mut);margin:1.375rem 0 0;font-size:1.3125rem;font-weight:300}#top{text-align:center;align-items:center}#top .k{letter-spacing:.34em;font-size:1.0625rem;font-weight:500}#top h1{font:400 clamp(5.25rem,11vw,10.625rem)/.95 var(--d);background:linear-gradient(#fff 30%,#c9c9d1);color:#0000;-webkit-background-clip:text;background-clip:text;margin:1.625rem 0 0}.tag{font:italic 400 clamp(1.625rem,3vw,2.875rem)/1.1 var(--d);color:#d4d4d8;max-width:56.25rem;margin:2.75rem 0 0}.pill{background:#1f1f23;border:1px solid #34343b;border-radius:6.1875rem;justify-content:center;align-items:center;gap:1rem;min-width:18.75rem;margin-top:3.125rem;padding:.9375rem 2.25rem;font-size:1.375rem;display:inline-flex}.pill #type:after{content:"";vertical-align:-.12em;background:#fff;width:2px;height:1em;margin-left:2px;animation:1s steps(2,end) infinite bl;display:inline-block}.pill svg{width:1.25rem;height:1.25rem;fill:var(--ind)}.explore{font:.8125rem var(--m);letter-spacing:.3em;color:#a1a1aa;justify-items:center;gap:.75rem;margin-top:3.375rem;text-decoration:none;display:grid}@keyframes bl{50%{opacity:0}}#about .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:2.5rem;display:grid}#about p{color:#b9b9c2;max-width:37.5rem;margin:0 0 1.625rem;font-size:1.375rem;font-weight:300;line-height:2.05}.h1{color:#4338ca}.h2{color:var(--blue)}.h3{color:var(--sky)}#about h2{margin-bottom:5.25rem}.graph{justify-self:center;width:100%;max-width:32.5rem}.graph .f{animation:7s ease-in-out infinite fl}.graph .f:nth-child(2n){animation-delay:-2s}.graph .f:nth-child(3n){animation-delay:-4s}@keyframes fl{50%{transform:translateY(-.625rem)}}.graph text{font:400 1.375rem var(--b);letter-spacing:.2em;fill:#ffffffb8}#quote .q{font:400 clamp(3.75rem,6vw,5.625rem)/1 var(--d);color:#71717a}#quote h2{color:#e4e4e7;margin-top:.875rem;font-size:clamp(2.125rem,4vw,3.5rem);font-style:italic}#quote h2 em{color:var(--ind)}#skills{min-height:auto;padding-top:8.75rem}.spot{justify-items:center;gap:.5rem;margin:3.5rem 0 1.5rem;display:grid}.rows{gap:1.625rem;margin:0 calc(-1*clamp(1.5rem,4vw,4rem));display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.track{gap:2.875rem;width:max-content;animation:38s linear infinite mq;display:flex}.track.r{animation-direction:reverse;animation-duration:2.875rem}.track:hover{animation-play-state:paused}.track.r{animation-duration:46s}@keyframes mq{to{transform:translate(-50%)}}.tile{cursor:default;color:#a1a1aa;justify-items:center;gap:.625rem;font-size:.875rem;display:grid}.tile .o{background:#fff;border-radius:1.75rem;place-items:center;width:7.625rem;height:7.625rem;transition:transform .2s;display:grid}.tile:hover .o{transform:translateY(-.25rem)scale(1.04)}.tile .n{border-radius:1.125rem;place-items:center;width:4.625rem;height:4.625rem;display:grid}.spot .tile .o{border-radius:1.25rem;width:5.375rem;height:5.375rem}.spot .tile .n{border-radius:.875rem;width:3.375rem;height:3.375rem}.spot .tile svg{width:1.875rem;height:1.875rem}#projects .head p{color:var(--mut);max-width:62.5rem;margin:1.625rem 0 5.625rem;font-size:1.375rem;font-weight:300;line-height:2}.plist{position:relative}.prow{color:#71717a;border-top:1px solid #5a5a62;max-width:40rem;padding:2.625rem 0;text-decoration:none;transition:color .25s;display:block}.prow:last-of-type{border-bottom:1px solid #5a5a62}.prow .k{letter-spacing:.28em;color:#6b6b74;margin-bottom:.625rem;font-size:.875rem}.prow h3{font:400 clamp(2.75rem,4.6vw,3.875rem)/1 var(--d);margin:0}.prow:hover,.prow:focus-visible{color:#fff}.det{opacity:0;max-height:0;color:var(--mut);transition:max-height .35s,opacity .25s;overflow:hidden}.prow:hover .det,.prow:focus-visible .det{opacity:1;max-height:16.25rem}.det p{margin:1.125rem 0 .875rem;font-size:1.125rem;font-weight:300;line-height:1.7}.tg{flex-wrap:wrap;gap:.5rem;display:flex}.tg span{font:.8125rem var(--m);color:#c4c4cc;border:1px solid #3a3a42;border-radius:6.1875rem;padding:.1875rem .75rem}.pp{aspect-ratio:16/9;opacity:0;pointer-events:none;color:#71717a;width:min(46%,32.5rem);font:.875rem var(--m);background:linear-gradient(135deg,#1d1f29,#0e1015);border:1px solid #34343b;border-radius:.875rem;place-items:center;transition:opacity .25s,transform .25s,top .25s;display:grid;position:absolute;right:0;overflow:hidden;transform:translateY(.5rem);box-shadow:0 1.875rem 4.375rem #00000080}.pp.on{opacity:1;transform:none}.pp img{object-fit:cover;object-position:top;width:100%;height:100%}.links{pointer-events:auto;gap:.625rem;margin-top:1rem;display:flex}.btn{color:#111;background:#fff;border-radius:.375rem;padding:.4375rem 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-block}.btn.g{color:#fff;background:0 0;border:1px solid #fff}.tl{gap:4.375rem;width:100%;max-width:63.75rem;margin:5.625rem auto 0;display:grid;position:relative}.tl:before{content:"";background:linear-gradient(#8b8bf5,#3a3a48 18%,#34343b);width:2px;position:absolute;top:0;bottom:0;left:50%}.ev{text-align:left;grid-template-columns:1fr 1fr;display:grid;position:relative}.ev:before{content:"";z-index:1;background:#fff;border:.3125rem solid #3b3b8f;border-radius:50%;width:1.625rem;height:1.625rem;margin-left:-.8125rem;position:absolute;top:2.75rem;left:50%;box-shadow:0 0 0 .25rem #18181b}.ev .cd{border-right:.3125rem solid #1e3a8a;grid-column:1;margin-right:5.25rem}.ev:nth-child(2n) .cd{border-left:.3125rem solid #1e3a8a;border-right:0;grid-column:2;margin:0 0 0 5.25rem}.cd{color:#18181b;text-align:left;background:#dcdcdd;border-radius:1.875rem;padding:2.125rem 2.375rem}.cd h3{font:400 2.375rem/1 var(--d);margin:0 0 .75rem}.cd .r{color:#3f3f46;margin-bottom:.875rem;font-size:1.375rem}.cd .dt{font:500 .875rem var(--m);letter-spacing:.2em;color:#1e3a8a;text-transform:uppercase;align-items:center;gap:.625rem;display:flex}.cd .dt svg{width:1.125rem;height:1.125rem}.cd .tg{margin-top:1.125rem}.cd .tg span{color:#3f3f46;background:#fff;border-color:#fff}.cd .s{color:#52525b;margin:1rem 0 0;font-size:1.0625rem;line-height:1.8}#contact .mail{font:400 clamp(2.5rem,7vw,6.5rem)/1 var(--d);word-break:break-all;background:linear-gradient(#fff,#fff) 0 100%/0 .1875rem no-repeat;margin-top:2.5rem;padding-bottom:.5rem;text-decoration:none;transition:background-size .3s}#contact .mail:hover{background-size:100% .1875rem}.soc{gap:1.875rem;margin-top:2.5rem;display:flex}.soc a{color:var(--mut);border-bottom:1px solid #3a3a42;padding-bottom:2px;text-decoration:none}.soc a:hover{color:#fff}#playlist{min-height:auto;padding-top:3.75rem;padding-bottom:3.75rem}.rwrap{width:100%;margin:0 auto;position:relative}.rbox{transform-origin:top;width:62.5rem;height:51.25rem;margin-left:-31.25rem;position:absolute;top:0;left:50%}.cv{border:1px solid #ffffff40;border-radius:1.375rem;width:11.875rem;height:11.875rem;position:absolute;box-shadow:0 1.125rem 2.5rem #00000073}.disc{color:#111;text-align:center;background:#b8b8b8;border-radius:50%;align-content:center;justify-items:center;gap:.75rem;width:22.5rem;height:22.5rem;padding:0 3.375rem;display:grid;position:absolute;top:14.375rem;left:20rem}.disc h3{font:400 2.25rem/1 var(--d);letter-spacing:.14em;margin:.375rem 0 0}.disc p{color:#555;margin:0;font-size:.9375rem;line-height:1.6}.disc a{color:#fff;background:#111;border-radius:6.1875rem;margin-top:.75rem;padding:.75rem 1.625rem;font-size:.9375rem;font-weight:500;text-decoration:none}#contact h2{font-style:normal}.cubes{flex-wrap:wrap;justify-content:center;gap:clamp(2.5rem,6vw,5.375rem);margin:4rem 0 4.75rem;display:flex}.cube{color:#a1a1aa;font:500 .875rem var(--b);letter-spacing:.3em;justify-items:center;gap:1.125rem;text-decoration:none;display:grid}.cube svg{width:6.25rem;transition:transform .25s}.cube:hover svg{transform:translateY(-.5rem)}.cube:hover{color:#fff}.cc{width:min(30rem,100%);font:500 1.0625rem/1.95 var(--m);text-align:left;color:#a1a1aa;white-space:pre-wrap;background:#121217;border:1px solid #1d1d24;border-radius:1.375rem;padding:1.75rem 1.875rem}.cc .kw{color:#8b8bf5}.cc .v{color:#f4f4f5}.cc .s{color:#34d399}#av{z-index:4;pointer-events:none;filter:drop-shadow(0 .375rem .875rem #0009);position:fixed;bottom:0;right:2.125rem}@media (width<=980px){#side{border-bottom:1px solid #15151b;border-right:0;width:auto;height:auto;max-height:100vh;padding:.875rem 1.125rem;position:sticky;inset:0 auto auto}.brand{margin:0}#menu{color:#e4e4e7;font:.875rem var(--m);background:0 0;border:1px solid #34343b;border-radius:.5rem;padding:.5rem .875rem;display:block;position:absolute;top:1.5rem;right:1.125rem}.exp{margin-top:.875rem;display:none}#side.o .exp{display:block}main{margin-left:0}#about .wrap{grid-template-columns:1fr}#about h2{margin-bottom:1.875rem}.tl:before{left:.75rem}.ev{grid-template-columns:1fr}.ev:before{left:.75rem}.ev .cd,.ev:nth-child(2n) .cd{border-left:.3125rem solid #1e3a8a;border-right:0;grid-column:1;margin:0 0 0 3rem}.pp{display:none}.det{opacity:1;max-height:none}.prow{color:#d4d4d8}.rows{margin:0 -1.5rem}#av{transform-origin:100% 100%;right:.625rem;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track,.graph .f,.pill #type:after{animation:none}}section{overflow-x:clip}.prow{cursor:default}.prow:focus-within{color:#fff}.prow:focus-within .det{opacity:1;max-height:16.25rem}@media (width<=980px){html{font-size:15px}}#quote{min-height:auto;padding-block:5rem}.rwrap{overflow:visible}.rbox{width:1000px;height:880px;margin-left:-500px}.cv{border-radius:22px;width:190px;height:190px}.disc{gap:12px;width:360px;height:360px;padding:0 54px;top:260px;left:320px}.disc svg{width:40px;height:40px}.disc h3{margin:6px 0 0;font-size:36px}.disc p{font-size:15px}.disc a{margin-top:12px;padding:12px 26px;font-size:15px}#side{scrollbar-width:none}#side::-webkit-scrollbar{display:none}.rows{gap:1.25rem}.track{gap:2.25rem}.tile{gap:.5rem;font-size:.8125rem}.tile .o{border-radius:1.4rem;width:6.25rem;height:6.25rem}.tile .n{border-radius:.9rem;width:3.75rem;height:3.75rem}.tile svg{width:2rem;height:2rem}.btn.off{opacity:.45;filter:blur(.6px);cursor:not-allowed;-webkit-user-select:none;user-select:none;border-style:dashed;align-items:center;gap:.4rem;display:inline-flex}.wip{letter-spacing:.2em;color:#c4c4cc;vertical-align:middle;border:1px solid #3a3a42;border-radius:99px;align-items:center;gap:.5rem;margin-left:1rem;padding:.15rem .75rem;font-size:.75rem;display:inline-flex}.wip:before{content:"";background:#facc15;border-radius:50%;width:.45rem;height:.45rem;animation:1.4s steps(2,end) infinite bl}.btn:not(.g).off{color:#fff;background:0 0;border:1px dashed #fff}@media (prefers-reduced-motion:reduce){.wip:before{animation:none}}.resume{align-items:center;gap:.6rem;margin-top:1.75rem;display:inline-flex}.rbtn{color:#c4c4cc;font:1rem var(--m);border:1px dashed #2a2a35;border-radius:.6rem;align-items:center;gap:.6rem;margin-top:1rem;padding:.7rem 1rem;text-decoration:none;display:flex}.rbtn:hover{color:#fff;background:#ffffff0f}@media (width<=980px){.rbtn{display:none}}.prow{z-index:1;color:#a1a1aa;max-width:min(40rem,52%);position:relative}.prow:hover,.prow:focus-within{color:#fff}.pp{z-index:0;width:min(42%,32.5rem)}.pp img{object-fit:cover;object-position:top;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.pp img.on{opacity:1}.pimg{display:none}@media (width<=980px){.prow{color:#e4e4e7;max-width:none;padding:2rem 0}.pp{display:none}.pimg{aspect-ratio:16/9;object-fit:cover;object-position:top;border:1px solid #34343b;border-radius:.75rem;width:100%;margin-top:1.25rem;display:block}}@media (hover:none){.det{opacity:1;max-height:none}.prow{color:#e4e4e7}}
