.contributions{--heat-0:color-mix(in oklab, var(--primary) 26%, var(--background));--heat-1:color-mix(in oklab, var(--primary) 48%, var(--background));--heat-2:color-mix(in oklab, var(--primary) 64%, var(--background));--heat-3:color-mix(in oklab, var(--primary) 80%, var(--background));--heat-4:var(--primary);--rule:hsl(from var(--primary) h s l / 15%);gap:1.25rem;display:grid}.contributions .name{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);font-size:.6875rem;font-weight:600}.calendar{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--primary-alpha) transparent;width:100%;position:relative;overflow-x:auto;mask-image:linear-gradient(90deg,#000 88%,#0000 100%)}.calendar::-webkit-scrollbar{height:6px}.calendar::-webkit-scrollbar-track{background:var(--rule)}.calendar::-webkit-scrollbar-thumb{background:var(--primary-alpha)}.calendar:hover::-webkit-scrollbar-thumb{background:var(--primary)}.heatmap{width:100%;min-width:800px;height:auto;display:block;& text{letter-spacing:.12em;fill:var(--muted-strong);text-transform:uppercase;text-rendering:optimizelegibility;font-size:4.5px;font-weight:600}& rect{stroke:#0000;stroke-width:1px;transition:stroke .12s ease-out}& rect:hover{stroke:var(--primary);cursor:pointer}}.smallText{font-size:5px}.color-0{fill:var(--heat-0)}.color-1{fill:var(--heat-1)}.color-2{fill:var(--heat-2)}.color-3{fill:var(--heat-3)}.color-4{fill:var(--heat-4)}.contributions .legend{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.contributions .legend ol{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--muted-strong);align-items:center;gap:.875rem;margin:0;padding:0;font-size:.6875rem;font-weight:600;list-style:none;display:flex}.contributions .legend li{align-items:center;gap:.375rem;display:flex}.contributions .swatch{border-radius:1px;width:10px;height:10px}.contributions .level-0{background:var(--heat-0)}.contributions .level-1{background:var(--heat-1)}.contributions .level-2{background:var(--heat-2)}.contributions .level-3{background:var(--heat-3)}.contributions .level-4{background:var(--heat-4)}.tooltip{z-index:10000;border:1px solid var(--primary);background-color:var(--background);color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:2px;padding:8px 12px;font-size:.75rem;position:fixed;box-shadow:0 4px 12px #0006;& .date{letter-spacing:.06em;text-transform:uppercase;font-weight:600}& .contribution{color:var(--muted-strong);gap:.75rem;margin-top:2px;font-size:.6875rem;display:flex}}@media (width>=840px){.calendar{mask-image:none}.heatmap{min-width:0}.contributions .legend{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.heatmap rect{transition:none}}.about[data-astro-cid-ta2fbyqs]{--step-data:.875rem;--step-row:1rem;--step-bio:1.25rem;--step-heading:1.5rem;--step-display:clamp(2.5rem, 7vw, 4.5rem);--gap-panel:3rem;max-width:1240px;color:var(--primary);margin:0 auto 5rem;padding:0 1.25rem}.masthead[data-astro-cid-ta2fbyqs]{min-height:42vh;margin-bottom:var(--gap-panel);isolation:isolate;align-items:center;padding:3rem 0 2rem;display:flex;position:relative}.masthead[data-astro-cid-ta2fbyqs] .art[data-astro-cid-ta2fbyqs]{z-index:-1;pointer-events:none;opacity:.35;justify-content:center;align-items:center;display:flex;position:absolute;inset:-2rem 0;overflow:hidden;mask-image:radial-gradient(#000 8%,#0000 78%)}.masthead[data-astro-cid-ta2fbyqs] .art[data-astro-cid-ta2fbyqs] .logo{fill-opacity:.14;stroke-width:7px}.masthead[data-astro-cid-ta2fbyqs] .art[data-astro-cid-ta2fbyqs] #JL{width:min(100%,520px);height:auto;max-height:none;margin:0}.identity[data-astro-cid-ta2fbyqs]{position:relative}.about[data-astro-cid-ta2fbyqs] h1[data-astro-cid-ta2fbyqs]{max-width:12ch;font-size:var(--step-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:300;line-height:1.05;& strong{color:var(--light);font-weight:800}}.identity[data-astro-cid-ta2fbyqs] .role[data-astro-cid-ta2fbyqs]{font-size:var(--step-row);color:var(--muted-strong);margin:1.25rem 0 0}.identity[data-astro-cid-ta2fbyqs] .role[data-astro-cid-ta2fbyqs] strong[data-astro-cid-ta2fbyqs]{color:var(--primary);font-weight:600}.socials[data-astro-cid-ta2fbyqs]{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.5rem 0 0;display:flex}.socials[data-astro-cid-ta2fbyqs] a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.panels[data-astro-cid-ta2fbyqs]{gap:var(--gap-panel);display:grid}.intro[data-astro-cid-ta2fbyqs]{gap:2rem;display:grid}.bio[data-astro-cid-ta2fbyqs] p[data-astro-cid-ta2fbyqs]{max-width:62ch;font-size:var(--step-bio);margin:0 0 1.25rem;font-weight:400;line-height:1.6}.bio[data-astro-cid-ta2fbyqs] p[data-astro-cid-ta2fbyqs]:last-child{margin-bottom:0}.about[data-astro-cid-ta2fbyqs] h2[data-astro-cid-ta2fbyqs]{font-size:var(--step-heading);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:1rem;margin:0 0 1.5rem;font-weight:700;display:flex}.panel[data-astro-cid-ta2fbyqs] ul[data-astro-cid-ta2fbyqs]{margin:0;padding:0;list-style:none}.matrix[data-astro-cid-ta2fbyqs]{gap:2rem 2.5rem;display:grid}.matrix[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]{align-content:start;gap:.625rem;display:grid}.matrix[data-astro-cid-ta2fbyqs] .label[data-astro-cid-ta2fbyqs]{font-size:var(--step-row)}.matrix[data-astro-cid-ta2fbyqs] .icons[data-astro-cid-ta2fbyqs]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.matrix[data-astro-cid-ta2fbyqs] .icons[data-astro-cid-ta2fbyqs] svg{width:22px;height:22px}.exp[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]{gap:.25rem;padding:.75rem 0;transition:background-color .18s ease-out;display:grid}.exp[data-astro-cid-ta2fbyqs] .time[data-astro-cid-ta2fbyqs]{font-size:var(--step-data);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--muted-strong)}.exp[data-astro-cid-ta2fbyqs] .entry[data-astro-cid-ta2fbyqs]{font-size:var(--step-row);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.exp[data-astro-cid-ta2fbyqs] .entry[data-astro-cid-ta2fbyqs] strong[data-astro-cid-ta2fbyqs]{color:var(--light);font-weight:800}.exp[data-astro-cid-ta2fbyqs] abbr[data-astro-cid-ta2fbyqs]{border-bottom:1px dotted var(--muted);text-decoration:none}.love[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]{font-weight:600;font-size:var(--step-row);color:var(--primary);margin-bottom:1em;padding-left:2rem;line-height:1.7;position:relative}.love[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]:before{content:"◈";color:var(--primary);text-shadow:-2px 0 var(--accent), 2px 0 var(--primary);font-size:1.2em;line-height:1.5;animation:3s infinite alternate glitchList;position:absolute;top:0;left:0}.work[data-astro-cid-ta2fbyqs]{background:hsl(from var(--surface) h s l / 40%);border-radius:12px;flex-direction:column;max-width:100%;transition:all .2s ease-in-out;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000002e,0 8px 32px #00000059,0 2px 8px #0003;& span{margin:0;padding:0}& .titlebar{border-bottom:1px solid color-mix(in srgb, var(--light) 6%, transparent);background:hsl(from var(--surface) h s l / 75%);align-items:center;padding:.7rem 1rem;display:flex}& .dots{background:var(--error);width:11px;height:11px;box-shadow:18px 0 0 var(--warning), 36px 0 0 var(--success);border-radius:50%}& .title{text-align:center;font-size:var(--step-data);letter-spacing:.05em;color:var(--muted-strong);flex:1;padding-right:47px;font-weight:600}& .screen{flex-direction:column;flex:1;justify-content:center;gap:.5rem;padding:1.75rem 1.5rem;display:flex}& .prompt{letter-spacing:.05em;color:var(--light);align-items:center;font-size:1.5rem;font-weight:800;display:flex}& .path:after{content:"❯";color:var(--accent);margin:0 .5rem}& .prompt:after{content:"";background:var(--accent);width:.5em;height:1.15em;animation:1.1s step-end infinite caret}& .tagline{font-size:var(--step-data);color:var(--muted-strong);overflow-wrap:break-word}&:hover,&:focus-visible{box-shadow:0 0 0 1px var(--accent), var(--glow), 0 8px 32px #00000059}}.work[data-astro-cid-ta2fbyqs]:before{content:"";z-index:3;background:linear-gradient(-135deg, color-mix(in srgb, var(--primary) 25%, #ffffff26) 0%, transparent 50%);opacity:.35;pointer-events:none;background-size:200%;border-radius:12px;transition:all .2s ease-in-out;position:absolute;inset:0}@media (width>=640px){.matrix[data-astro-cid-ta2fbyqs]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=840px){.about[data-astro-cid-ta2fbyqs]{--gap-panel:5rem;padding:0 2rem}.masthead[data-astro-cid-ta2fbyqs]{min-height:0;margin-bottom:2rem;padding:3rem 0 1rem}.masthead[data-astro-cid-ta2fbyqs] .art[data-astro-cid-ta2fbyqs]{opacity:.6;justify-content:flex-end;inset:-5rem 0 -4rem;mask-image:linear-gradient(90deg,#0000 16%,#000 62%),radial-gradient(at 70%,#000 5%,#0000 78%);mask-composite:intersect}.masthead[data-astro-cid-ta2fbyqs] .art[data-astro-cid-ta2fbyqs] #JL{width:min(46%,460px);min-height:0}.intro[data-astro-cid-ta2fbyqs]{grid-template-columns:7fr 5fr;align-items:stretch;gap:3rem}.work[data-astro-cid-ta2fbyqs]{justify-content:center;width:auto}.exp[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]:hover{background-color:hsl(from var(--surface) h s l / 45%)}.experience[data-astro-cid-ta2fbyqs] .exp[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]{grid-template-columns:7rem 1fr;align-items:baseline;gap:1rem}}@media (width>=1024px){.panels[data-astro-cid-ta2fbyqs]{grid-template-columns:repeat(12,1fr)}.matrix[data-astro-cid-ta2fbyqs]{grid-template-columns:repeat(3,minmax(0,1fr))}.intro[data-astro-cid-ta2fbyqs],.wide[data-astro-cid-ta2fbyqs]{grid-column:span 12}.experience[data-astro-cid-ta2fbyqs]{grid-column:span 7}.education[data-astro-cid-ta2fbyqs]{grid-column:span 5}}@keyframes caret{50%{opacity:0}}@keyframes glitchList{0%,85%,to{text-shadow:-2px 0 var(--accent), 2px 0 var(--primary);opacity:1;transform:translate(0)}86%{text-shadow:3px -2px var(--accent), -3px 2px var(--primary);opacity:.8;transform:translate(-3px,2px)}88%{text-shadow:-2px 3px var(--accent), 2px -3px var(--primary);opacity:.6;transform:translate(2px,-2px)}90%{text-shadow:1px -1px var(--accent), -1px 1px var(--primary);opacity:.9;transform:translate(-1px,1px)}92%{text-shadow:-3px 1px var(--accent), 3px -1px var(--primary);opacity:.7;transform:translate(3px,-1px)}}@media (prefers-reduced-motion:reduce){.work[data-astro-cid-ta2fbyqs] .prompt[data-astro-cid-ta2fbyqs]:after,.love[data-astro-cid-ta2fbyqs] li[data-astro-cid-ta2fbyqs]:before{animation:none}.work[data-astro-cid-ta2fbyqs],.work[data-astro-cid-ta2fbyqs]:before{transition:none}}
