@font-face{font-family:Inter;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{--paper:#1a132f;--surface:#382c59;--surface-subtle:var(--surface);--ink:#f7e2e2;--muted:#c8bdd1;--accent:orange;--line:#655679;--line-strong:#806f99;--screenshot-shadow:0 4px 16px #0000004d;--portrait-shadow:0 16px 36px -12px #0006;--terminal-body:var(--paper);--link-on-card:#fff;--github-card:color-mix(in srgb, var(--surface) 35%, var(--paper));--github-card-border:color-mix(in srgb, var(--line) 55%, var(--paper));--github-cell:var(--paper);--github-cell-border:color-mix(in srgb, var(--line) 35%, var(--paper));--brand:orange;--contact-icon:#fff;--selection-background:var(--accent);--selection-ink:var(--paper);--font:Inter, "Helvetica Neue", Arial, sans-serif;--content:70rem;--gutter:clamp(1.25rem, 4vw, 3rem);--header-height:6.25rem;--section-space:clamp(4.5rem, 8vw, 7.5rem);--ease:.18s ease;color-scheme:dark}:root[data-theme=light]{--paper:#edeff3;--surface:#fff;--surface-subtle:#e7eaef;--ink:#2d2f3e;--muted:#636775;--accent:#995600;--line:#cdd3dc;--line-strong:#c2c9d4;--screenshot-shadow:0 4px 16px #00000014;--portrait-shadow:0 16px 36px -12px #0000001a;--terminal-body:var(--surface);--link-on-card:var(--ink);--github-card:var(--surface);--github-card-border:var(--line);--github-cell:#e3e6eb;--github-cell-border:transparent;--contact-icon:var(--ink);--selection-background:color-mix(in srgb, var(--accent) 25%, var(--paper));--selection-ink:var(--ink);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--selection-background);color:var(--selection-ink)}a{color:inherit}img{max-width:100%;display:block}ul,ol,dl,figure,p,h1,h2,h3,h4{margin:0}h1,h2,h3,h4{font-weight:500}.container{width:min(100% - 2 * var(--gutter), var(--content));margin-inline:auto}.skip-link{z-index:10;color:var(--paper);background:var(--ink);padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}section[id],footer[id]{scroll-margin-top:2rem}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.875rem;font-weight:500;line-height:1.5}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:var(--header-height);align-items:center;gap:1.25rem;display:flex}.site-header nav{margin-left:auto}.wordmark{letter-spacing:-.04em;white-space:nowrap;align-items:center;min-height:2.75rem;font-size:1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.wordmark-dot{color:var(--brand)}.theme-toggle{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;transition:background-color var(--ease);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--surface-subtle)}.theme-toggle[hidden]{display:none}.theme-toggle svg{width:1.125rem;height:1.125rem}.theme-icon-dark,:root[data-theme=light] .theme-icon-light{display:none}:root[data-theme=light] .theme-icon-dark{display:block}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);padding:0;list-style:none;display:flex}.nav-links a,.footer-bottom a{min-height:2.75rem;transition:color var(--ease);align-items:center;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.nav-links a:hover,.footer-bottom a:hover{color:var(--accent)}.hero{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));grid-template-columns:minmax(15rem,24rem) minmax(0,1fr);align-items:center;gap:clamp(3rem,8vw,7rem);padding-block:clamp(5rem,10vw,9rem);display:grid}.hero-copy{min-width:0}.hero h1{letter-spacing:-.06em;font-size:clamp(2.75rem,6vw,5.25rem);line-height:1.08}.hero h1 span{color:var(--accent)}.intro-list{max-width:38rem;color:var(--muted);margin:2rem 0 0;padding-left:1.25rem;font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.55}.intro-list li+li{margin-top:.5rem}.intro-list li::marker,.entry-achievements li::marker{color:var(--accent)}.hero-portrait{border:1px solid var(--line);background:var(--surface);box-shadow:var(--portrait-shadow);border-radius:.75rem;overflow:hidden}.hero-portrait-header{border-bottom:1px solid var(--line);background:var(--surface-subtle);min-height:2.25rem;color:var(--muted);align-items:center;gap:.85rem;padding-inline:1rem;font:.75rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.hero-portrait-dots{gap:.35rem;display:inline-flex}.hero-portrait-dots i{background:var(--muted);opacity:.7;border-radius:50%;width:.4rem;height:.4rem}.hero-portrait-dots i:first-child{background:var(--accent);opacity:1}.hero-portrait-tab{letter-spacing:-.01em}.hero-portrait img{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.text-link,.button{min-height:2.75rem;transition:color var(--ease), background-color var(--ease), border-color var(--ease);justify-content:center;align-items:center;gap:.7rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.text-link{color:var(--accent);text-underline-offset:.35em;text-decoration:underline}.text-link:hover{color:var(--ink)}.button-primary{color:var(--paper);background:var(--ink);border:1px solid var(--ink);padding:.85rem clamp(.75rem,2vw,1.25rem)}.button-primary:hover{background:var(--accent);border-color:var(--accent)}.section{padding-block:var(--section-space);border-top:1px solid var(--line)}.section-heading{margin-bottom:clamp(2.5rem,5vw,4rem)}.section-heading .eyebrow{margin-bottom:1.15rem}.section-heading h2,.resume-section h2,.contact-section h2{letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(2rem,3.5vw,3rem);line-height:1.13}.about-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,28rem);align-items:start;gap:clamp(2.5rem,5vw,5.5rem);display:grid}.about-copy{min-width:0;max-width:42rem}.about-copy p+p{margin-top:1.25rem}.about-copy p:first-child{letter-spacing:-.03em;font-size:clamp(1.375rem,2.4vw,1.875rem);line-height:1.38}.about-copy p:not(:first-child){color:var(--muted)}.terminal{border:1px solid var(--line);background:var(--terminal-body);overflow-wrap:anywhere;border-radius:.75rem;min-width:0;font:.875rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.terminal-header{border-bottom:1px solid var(--line);background:var(--surface-subtle);min-height:2.75rem;color:var(--muted);align-items:center;gap:1rem;padding-inline:1.25rem;font-size:.75rem;display:flex}.terminal-tab{transition:opacity .18s}.terminal-dots{gap:.35rem;display:inline-flex}.terminal-dots i{background:var(--muted);opacity:.7;border-radius:50%;width:.4rem;height:.4rem}.terminal-dots i:first-child{background:var(--accent);opacity:1}.terminal-body{padding:clamp(1.25rem,3vw,1.75rem)}.terminal-command-line{color:var(--ink);align-items:center;margin-bottom:1.75rem;display:flex}.terminal-prompt{color:var(--accent);user-select:none;margin-right:.85rem;font-weight:600}.terminal-cmd{color:var(--ink)}.terminal-cursor{background-color:var(--accent);vertical-align:text-bottom;width:.52em;height:1.15em;animation:.8s step-end infinite cli-cursor-blink;display:inline-block}@keyframes cli-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.terminal dd{color:var(--accent)}.terminal dl{gap:.8rem;display:grid}.terminal dl div{grid-template-columns:8.75rem minmax(0,1fr);gap:.75rem;display:grid}.terminal dt{color:var(--muted);white-space:nowrap}.terminal dt:after{content:":"}.terminal dd{margin:0}.terminal-bottom-prompt{color:var(--ink);align-items:center;margin-top:1.25rem;display:flex}.timeline-container{margin-left:.3rem;padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:2rem;position:relative}.timeline-trail{pointer-events:none;z-index:1;width:1px;position:absolute;top:0;bottom:0;left:0}.timeline-trail-line{background:var(--line);width:1px;height:0;transition:height .12s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0}.entry-list{padding:0;list-style:none}.entry{grid-template-columns:minmax(18rem,22.5rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);padding-bottom:clamp(3rem,5vw,4.5rem);padding-left:clamp(1.5rem,3vw,2.5rem);display:grid;position:relative}.entry:last-child{padding-bottom:0}.timeline-dot{background:var(--paper);border:1.5px solid var(--line);box-sizing:border-box;z-index:2;border-radius:50%;width:.56rem;height:.56rem;transition:background-color .25s,border-color .25s,box-shadow .25s,transform .25s;position:absolute;top:.65rem;left:-.31rem}.timeline-dot.is-hit{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px 2px #ffa50066}:root[data-theme=light] .timeline-dot.is-hit{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.entry-identity h3{color:var(--ink);letter-spacing:-.03em;text-wrap:pretty;font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:500;line-height:1.25}.entry-company{color:var(--accent);margin-top:.35rem;font-size:clamp(1rem,1.3vw,1.1875rem);font-weight:500;line-height:1.35}.entry-team{color:var(--muted);overflow-wrap:anywhere;margin-top:.25rem;font-size:.875rem;line-height:1.5}.entry-meta{color:var(--muted);gap:.15rem;margin-top:.5rem;font-size:.875rem;line-height:1.5;display:grid}.entry-date-row{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;display:flex}.entry-date-row>span{white-space:nowrap}.entry-tenure{font-variant-numeric:tabular-nums;font-size:.8125rem}.entry-summary{letter-spacing:-.025em;max-width:43rem;margin-top:0;font-size:clamp(1.125rem,1.7vw,1.375rem);line-height:1.45}.entry-tech{color:var(--muted);font-size:.875rem;line-height:1.5}.entry-tech span{color:var(--ink);margin-bottom:.2rem;font-weight:500;display:block}.entry-achievements{max-width:43rem;color:var(--muted);margin-top:1.1rem;padding-left:1.2rem;font-size:.9375rem;line-height:1.6}.entry-achievements li+li{margin-top:.4rem}.entry-footer{justify-content:space-between;align-items:end;gap:1.5rem;margin-top:1.5rem;display:flex}.entry-footer .button{flex:none;gap:.35rem;min-height:2rem;padding:.35rem .75rem;font-size:.8125rem;line-height:1.35}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.75rem 1.5rem;padding:1.75rem 0 0;list-style:none;display:grid}.project-card{perspective:1200px;cursor:pointer;background:0 0;border:none;outline:none;min-width:0;height:100%;min-height:29.75rem;position:relative}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:0 .75rem .75rem}.project-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.16,1,.3,1);position:relative}.project-card:not(.is-flipped):hover .project-card-inner{transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(-4px)rotateY(-8deg)}.project-card.is-flipped .project-card-inner{transform:rotateY(180deg)}.project-card.is-flipped:hover .project-card-inner{transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(-4px)rotateY(172deg)}@media (prefers-reduced-motion:reduce){.project-card-inner,.project-card:not(.is-flipped):hover .project-card-inner,.project-card.is-flipped:hover .project-card-inner{transition:none;transform:none}.project-card.is-flipped .project-card-inner{transform:rotateY(180deg)}}.project-card-front,.project-card-back{border:1px solid var(--line);background:var(--surface);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;transition:border-color var(--ease), box-shadow var(--ease);border-radius:0 .75rem .75rem;flex-direction:column;display:flex;position:absolute;inset:0}.project-card:hover .project-card-front,.project-card:hover .project-card-back,.project-card:focus-visible .project-card-front,.project-card:focus-visible .project-card-back{border-color:var(--line-strong);box-shadow:0 16px 36px -8px #0000001f,0 6px 14px -2px #0000000f}.project-card:hover .project-folder-tab,.project-card:focus-visible .project-folder-tab{border-color:var(--line-strong);border-bottom-color:var(--surface)}.project-card-front{z-index:2;transform:rotateY(0)}.project-card-back{z-index:1;transform:rotateY(180deg)}.project-card:not(.is-flipped) .project-card-back,.project-card.is-flipped .project-card-front{pointer-events:none}.project-folder-tab{background:var(--surface);border:1px solid var(--line);border-bottom:1px solid var(--surface);height:calc(1.75rem + 1px);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;transition:border-color var(--ease);z-index:2;border-radius:.5rem .5rem 0 0;align-items:center;gap:.45rem;padding-inline:.85rem 1.15rem;font:500 .75rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex;position:absolute;top:-1.75rem;left:-1px}.project-folder-tab-back{background:var(--surface);border-bottom-color:var(--surface)}.project-folder-icon{color:var(--accent);flex:none}.project-folder-name{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;margin:0;font:500 .75rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.folder-slash{color:var(--accent);opacity:.8;margin-left:.1em}.project-card-body{flex-direction:column;flex:1;align-items:start;padding:clamp(1.25rem,2.5vw,1.75rem);display:flex}.project-card-type{color:var(--muted);margin-top:1.2rem;font-size:.8125rem;line-height:1.45}.project-description{max-width:38rem;color:var(--ink);margin-top:.65rem;line-height:1.55}.project-tech{color:var(--muted);margin-top:1.15rem;font-size:.875rem;line-height:1.6}.project-tech span{color:var(--accent);margin-bottom:.35rem;font-weight:500;display:block}.project-flip-indicator{background:var(--surface-subtle);border:1px solid var(--line);width:1.85rem;height:1.85rem;color:var(--muted);opacity:.65;transition:transform .45s cubic-bezier(.16, 1, .3, 1), color var(--ease), border-color var(--ease), background var(--ease), opacity var(--ease);pointer-events:none;z-index:3;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.85rem;right:.85rem}.project-card:hover .project-flip-indicator{opacity:1;color:var(--accent);border-color:var(--accent);background:var(--surface);transform:rotate(180deg)scale(1.1)}.project-card-body .project-github{margin-top:auto}.project-card-back-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-radius:0 .75rem .75rem;flex-direction:column;flex:1;align-items:start;padding:clamp(1.25rem,2.5vw,1.75rem);display:flex;overflow-y:auto}.project-back-header{border-bottom:1px dashed var(--line);align-items:center;width:100%;margin-bottom:.85rem;padding-bottom:.45rem;display:flex}.project-back-header h4{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:.9375rem;font-weight:600}.project-achievements-list{color:var(--ink);flex-direction:column;gap:.55rem;margin:0 0 1rem;padding-left:1.15rem;font-size:.8125rem;line-height:1.5;display:flex}.project-achievements-list li::marker{color:var(--accent)}.project-details{width:100%;color:var(--muted);margin-top:.65rem;margin-bottom:.25rem;font-size:.875rem}.project-details summary{width:fit-content;min-height:2rem;color:var(--ink);cursor:pointer;text-underline-offset:.35em;padding-block:.25rem;text-decoration:underline}.project-details summary:hover{color:var(--accent)}.project-details ul{padding-left:1.2rem}.project-details li+li{margin-top:.6rem}.project-details li::marker{color:var(--accent)}.project-github{border:1px solid var(--ink);min-height:2.6rem;color:var(--paper);background:var(--ink);transition:background-color var(--ease), border-color var(--ease);align-items:center;gap:.65rem;margin-top:.85rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;line-height:1.35;text-decoration:none;display:inline-flex}.project-github:hover{background:var(--accent);border-color:var(--accent)}.project-github svg{flex:none;width:1.25rem;height:1.25rem}.project-mark{border:1px solid var(--line);width:7rem;height:7rem;color:var(--accent);background:var(--paper);border-radius:.75rem;place-self:center;place-items:center;margin-inline:auto;padding:1rem;display:grid}.project-mark svg{width:100%;height:100%}.project-details-content{padding-top:1rem}.project-preview{margin-bottom:1.25rem}.project-preview>a{border-radius:.35rem;display:block}.project-preview img{border:1px solid var(--line);border-radius:.35rem;width:100%;height:auto}.project-preview figcaption{margin-top:.5rem;font-size:.8125rem}.project-preview figcaption a{text-underline-offset:.25em;align-items:center;gap:.35rem;min-height:2.75rem;display:inline-flex}.project-preview figcaption a:hover{color:var(--accent)}.more-projects{margin-top:2rem}.more-projects-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--ease);background:0 0;border:0;align-items:center;gap:.45rem;padding:0;font-size:.875rem;font-weight:500;list-style:none;display:inline-flex}.more-projects-toggle::-webkit-details-marker{display:none}.more-projects-toggle:hover{color:var(--accent)}.more-projects[open] .more-projects-caret{transform:rotate(180deg)}.more-projects-caret{width:.75rem;height:.75rem;color:inherit;transition:transform var(--ease), color var(--ease);flex:none;display:inline-block}.other-projects-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1rem;margin-top:1.5rem;padding-top:1.65rem;display:grid}.other-project-card{perspective:1000px;cursor:pointer;background:0 0;border:none;outline:none;min-width:0;height:100%;min-height:14.5rem;padding:0;position:relative}.other-project-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0 .75rem .75rem}.other-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.16,1,.3,1);position:relative}.other-project-card:not(.is-flipped):hover .other-card-inner{transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(-3px)rotateY(-7deg)}.other-project-card.is-flipped .other-card-inner{transform:rotateY(180deg)}.other-project-card.is-flipped:hover .other-card-inner{transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(-3px)rotateY(173deg)}@media (prefers-reduced-motion:reduce){.other-card-inner,.other-project-card:not(.is-flipped):hover .other-card-inner,.other-project-card.is-flipped:hover .other-card-inner{transition:none;transform:none}.other-project-card.is-flipped .other-card-inner{transform:rotateY(180deg)}}.other-card-front,.other-card-back{border:1px solid var(--line);background:var(--surface);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;transition:border-color var(--ease), box-shadow var(--ease);border-radius:0 .75rem .75rem;flex-direction:column;display:flex;position:absolute;inset:0}.other-project-card:hover .other-card-front,.other-project-card:hover .other-card-back,.other-project-card:focus-visible .other-card-front,.other-project-card:focus-visible .other-card-back{border-color:var(--line-strong);box-shadow:0 12px 28px -6px #0000001a,0 4px 10px -2px #0000000d}.other-project-card:hover .other-folder-tab,.other-project-card:focus-visible .other-folder-tab{border-color:var(--line-strong);border-bottom-color:var(--surface)}.other-card-front{z-index:2;transform:rotateY(0)}.other-card-back{z-index:1;transform:rotateY(180deg)}.other-project-card:not(.is-flipped) .other-card-back,.other-project-card.is-flipped .other-card-front{pointer-events:none}.other-folder-tab{padding-inline:.65rem .85rem;border-radius:.4rem .4rem 0 0;height:calc(1.65rem + 1px);padding-bottom:2px;font-size:.6875rem;top:-1.65rem}.other-folder-tab .project-folder-name{text-overflow:ellipsis;max-width:12.5rem;padding-bottom:1px;font-size:.6875rem;line-height:1.35;overflow:hidden}.other-flip-indicator{width:1.5rem;height:1.5rem;top:.6rem;right:.6rem}.other-project-card:hover .other-flip-indicator{opacity:1;color:var(--accent);border-color:var(--accent);background:var(--surface);transform:rotate(180deg)scale(1.08)}.other-project-body{flex-direction:column;flex:1;padding:.95rem;display:flex}.other-project-meta{color:var(--muted);margin:0;padding-right:1.5rem;font-size:.75rem;line-height:1.4}.other-project-desc{color:var(--ink);margin:.55rem 0 0;font-size:.8125rem;line-height:1.45}.other-project-tech{color:var(--muted);margin-top:.6rem;margin-bottom:.5rem;font-size:.75rem;line-height:1.45}.other-project-tech span{color:var(--accent);margin-bottom:.15rem;font-weight:500;display:block}.other-project-github{border:1px solid var(--ink);width:fit-content;min-height:2.15rem;color:var(--paper);background:var(--ink);transition:background-color var(--ease), border-color var(--ease);border-radius:0;align-self:flex-start;align-items:center;gap:.45rem;margin-top:auto;padding:.35rem .65rem;font-size:.75rem;font-weight:500;line-height:1.3;text-decoration:none;display:inline-flex}.other-project-github:hover{background:var(--accent);border-color:var(--accent)}.other-project-github svg{flex:none;width:.95rem;height:.95rem}.other-card-back-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-radius:0 .75rem .75rem;flex-direction:column;flex:1;padding:.95rem;display:flex;overflow-y:auto}.other-back-header{border-bottom:1px dashed var(--line);align-items:center;width:100%;margin-bottom:.65rem;padding-bottom:.35rem;padding-right:1.5rem;display:flex}.other-back-header h4{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:.8125rem;font-weight:600}.other-achievements-list{color:var(--ink);flex-direction:column;gap:.45rem;margin:0;padding-left:1rem;font-size:.75rem;line-height:1.45;display:flex}.other-achievements-list li::marker{color:var(--accent)}@media (width<=1060px){.other-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1rem}}@media (width<=580px){.other-projects-grid{grid-template-columns:1fr;gap:2.5rem 1rem}}.project-extras{margin-top:3rem}.tmux-terminal{width:100%}.tmux-header{align-items:center;gap:1.25rem;padding-inline:1.25rem;display:flex}.tmux-tabs{align-items:center;gap:.75rem;font-size:.75rem;display:inline-flex}.tmux-tab{color:var(--muted);letter-spacing:-.01em;user-select:none}.tmux-tab.is-active{color:var(--accent);font-weight:600}.tmux-session{color:var(--muted);letter-spacing:.02em;opacity:.75;white-space:nowrap;margin-left:auto;font-size:.6875rem}@media (width<=540px){.tmux-session{display:none}}.tmux-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}@media (width<=880px){.tmux-body{grid-template-columns:minmax(0,1fr)}}.tmux-pane{flex-direction:column;min-width:0;padding:clamp(1.15rem,2.5vw,1.5rem);display:flex}.tmux-pane-quests .terminal-command-line{margin-bottom:.85rem}.tmux-pane-git{border-left:1px solid var(--line)}@media (width<=880px){.tmux-pane-git{border-left:none;border-top:1px solid var(--line)}}.process-table-wrapper{-webkit-overflow-scrolling:touch;margin-bottom:.5rem;overflow-x:auto}.process-table{border-collapse:collapse;width:100%;font:inherit;text-align:left}.process-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px dashed var(--line);padding-bottom:.75rem;font-size:.6875rem;font-weight:500}.th-pid{width:3.25rem}.process-table td{vertical-align:top;border-bottom:1px solid color-mix(in srgb, var(--line) 35%, transparent);padding-block:.85rem}.process-table tr:last-child td{border-bottom:none}.process-pid{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:.75rem;font-size:.8125rem}.process-info{min-width:0}.process-title{color:var(--ink);letter-spacing:-.01em;font-size:.875rem;font-weight:500;line-height:1.4;display:block}.process-desc{color:var(--muted);margin-top:.25rem;font-size:.8125rem;line-height:1.5;display:block}@media (width<=480px){.process-table th{padding-bottom:.5rem;font-size:.625rem}.process-table td{padding-block:.65rem}.th-pid{width:2.5rem}.process-title{font-size:.8125rem}.process-desc{font-size:.75rem}}.tmux-pane-git .terminal-command-line{margin-bottom:.85rem}.github-activity-output{flex-direction:column;flex:1;display:flex}.git-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem;display:grid}.git-metric-card{background:color-mix(in srgb, var(--surface) 50%, transparent);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:.2rem;padding:.55rem .75rem;display:flex}.git-metric-value{color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700;line-height:1.1}.git-metric-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.6875rem}.github-activity-chart{width:100%;max-width:23.25rem;margin:1rem auto 1.25rem}.github-chart-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.github-chart-title{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-size:.6875rem;font-weight:600}.github-months{color:var(--muted);grid-template-columns:repeat(13,minmax(0,1fr));gap:.25rem;margin-bottom:.35rem;margin-left:1.85rem;font-size:.6875rem;line-height:1.2;display:grid}.github-months span{white-space:nowrap;text-align:left;grid-row:1;min-width:0}.github-calendar-wrapper{align-items:stretch;gap:.35rem;display:flex}.github-days-labels{width:1.5rem;color:var(--muted);letter-spacing:.02em;user-select:none;flex-shrink:0;grid-template-rows:repeat(7,1fr);gap:.25rem;font-size:.625rem;font-weight:500;line-height:1;display:grid}.github-days-labels span{justify-content:flex-start;align-items:center;display:flex}.github-calendar{flex:1;grid-template-columns:repeat(13,minmax(0,1fr));gap:.25rem;display:grid}.github-week{grid-template-rows:repeat(7,1fr);gap:.25rem;display:grid}.github-day{aspect-ratio:1;border:1px solid var(--github-cell-border);background:var(--github-cell);border-radius:3px;width:100%;transition:transform .15s,border-color .15s;position:relative}.github-day:hover{border-color:var(--accent);z-index:10;transform:scale(1.15)}.github-day[data-tooltip]:before{content:"";border-style:solid;border-width:4px 4px 0;border-color:var(--line-strong) transparent transparent transparent;opacity:0;pointer-events:none;z-index:30;transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)translateY(3px)}.github-day[data-tooltip]:after{content:attr(data-tooltip);background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;z-index:30;border-radius:4px;padding:.3rem .55rem;font:500 .6875rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(3px);box-shadow:0 4px 14px #00000059}.github-day[data-tooltip]:hover:before,.github-day[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.github-week:nth-child(-n+2) .github-day[data-tooltip]:after{left:0;transform:translate(0)translateY(3px)}.github-week:nth-child(-n+2) .github-day[data-tooltip]:hover:after{transform:translate(0)translateY(0)}.github-week:nth-last-child(-n+2) .github-day[data-tooltip]:after{left:auto;right:0;transform:translate(0)translateY(3px)}.github-week:nth-last-child(-n+2) .github-day[data-tooltip]:hover:after{transform:translate(0)translateY(0)}.github-day-future{opacity:0;pointer-events:none}.github-day-1{background:color-mix(in srgb, var(--accent) 30%, var(--surface))}.github-day-2{background:color-mix(in srgb, var(--accent) 55%, var(--surface))}.github-day-3{background:color-mix(in srgb, var(--accent) 75%, var(--surface))}.github-day-4{background:var(--accent)}.github-legend{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:.25rem;font-size:.6875rem;display:flex}.github-legend .github-day{border-radius:2px;width:.5rem;height:.5rem}.github-legend .github-day:hover{transform:none}.github-legend>:first-child{margin-right:.25rem}.github-legend>:last-child{margin-left:.25rem}.git-telemetry-status{background:color-mix(in srgb, var(--surface) 35%, transparent);border:1px solid color-mix(in srgb, var(--line) 50%, transparent);color:var(--muted);letter-spacing:.02em;border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:auto;margin-bottom:0;padding:.45rem .65rem;font-size:.75rem;display:flex}.git-status-left{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.git-status-right{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:.4rem;font-size:.6875rem;display:inline-flex}.git-status-sep{opacity:.6}.git-status-dot{background:var(--accent);width:.45rem;height:.45rem;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:50%;flex-shrink:0}.git-status-date,.git-status-branch{color:var(--ink);font-weight:600}@media (width<=480px){.git-metrics-grid{gap:.4rem;margin-bottom:.65rem}.git-metric-card{padding:.4rem .5rem}.git-metric-value{font-size:1rem}.git-metric-label{font-size:.5625rem}.github-activity-chart{max-width:100%;margin:.75rem auto 1rem;padding-inline:.25rem}.github-days-labels{width:1.3rem;font-size:.5625rem}.github-calendar-wrapper{gap:.25rem}.github-months{margin-left:1.55rem;font-size:.625rem}.git-telemetry-status{margin-bottom:0;padding:.4rem .55rem;font-size:.6875rem}}.off-the-clock .section-heading{margin-bottom:clamp(2rem,4vw,2.5rem)}.off-the-clock-intro{max-width:38rem;color:var(--muted);margin-top:1rem}.personal-journal{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:2rem;display:grid}.journal-feature{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;overflow:hidden}.journal-feature-image{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.journal-feature-copy{padding:clamp(1.25rem,2.5vw,1.5rem)}@media (width>=701px){.personal-journal{align-items:stretch}.journal-feature,.journal-support{flex-direction:column;height:100%;display:flex}.soundtrack{flex-direction:column;flex:1;display:flex}.playlist-container{flex:1;height:100%;min-height:152px;margin-block:1.25rem 0}.playlist-player{width:100%;height:100%}}.journal-label{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.8125rem;font-weight:500;line-height:1.5}.journal-feature h3{letter-spacing:-.04em;margin-top:.5rem;font-size:clamp(1.5rem,2.3vw,1.75rem);line-height:1.2}.journal-description{color:var(--muted);margin-top:.5rem;font-size:.9375rem;line-height:1.6}.journal-notes{margin:0;padding:1.5rem 0 0;list-style:none}.journal-note{border-top:1px solid var(--line);padding-block:1.75rem}.journal-note:first-child{border-top:0;padding-top:0}.journal-note h3,.soundtrack>h3{letter-spacing:-.03em;margin-top:.5rem;font-size:1.25rem;line-height:1.3}.soundtrack{border-top:1px solid var(--line);padding-top:1.75rem}.journal-heading{align-items:center;gap:.625rem;min-height:1.5rem;margin-bottom:1.25rem;display:flex}.soundtrack>h3{overflow-wrap:anywhere}.soundtrack-link{min-height:2.75rem;color:var(--accent);text-underline-offset:.25em;transition:color var(--ease);align-items:center;gap:.5rem;font-size:.8125rem;text-decoration:underline;display:inline-flex}.soundtrack-link:hover{color:var(--ink)}.playlist-container{background:#1f1f1f;border-radius:.75rem;width:100%;height:152px;margin-block:1.25rem 0;position:relative;overflow:hidden}.playlist-skeleton{z-index:1;pointer-events:none;background:#1f1f1f;align-items:center;gap:1rem;padding:1rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.playlist-skeleton-art{background:color-mix(in srgb, var(--surface) 80%, #1f1f1f);border-radius:.5rem;flex-shrink:0;width:5rem;height:5rem;animation:1.8s ease-in-out infinite playlist-pulse}.playlist-skeleton-info{flex-direction:column;gap:.625rem;width:100%;display:flex}.playlist-skeleton-title{background:color-mix(in srgb, var(--surface) 70%, #1f1f1f);border-radius:.25rem;width:60%;height:.875rem;animation:1.8s ease-in-out infinite playlist-pulse}.playlist-skeleton-artist{background:color-mix(in srgb, var(--surface) 50%, #1f1f1f);border-radius:.25rem;width:40%;height:.75rem;animation:1.8s ease-in-out .2s infinite playlist-pulse}@keyframes playlist-pulse{0%,to{opacity:.45}50%{opacity:.85}}.playlist-player{z-index:2;color-scheme:normal;background:0 0;border:0;border-radius:.75rem;width:100%;height:100%;margin:0;display:block;position:relative}.has-motion .playlist-player{opacity:0;transition:opacity .4s}.has-motion .playlist-player.is-loaded{opacity:1}.has-motion .playlist-player.is-loaded~.playlist-skeleton{opacity:0}@media (width<=700px){.personal-journal{grid-template-columns:minmax(0,1fr);gap:2rem}.journal-notes{padding-top:0}.journal-note{padding-block:1.25rem}.soundtrack{padding-top:1.25rem}}.resume-section{display:block}.resume-header{justify-content:space-between;align-items:center;gap:2rem;display:flex}.resume-section .eyebrow{margin-bottom:1.15rem}.resume-preview{margin-top:2rem}.resume-preview summary{min-height:3.75rem;color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;font-weight:500;list-style:none;display:inline-flex}.resume-preview summary::-webkit-details-marker{display:none}.resume-preview summary:hover{color:var(--accent)}.resume-preview-caret{transition:transform var(--ease);flex:none}.resume-preview[open] .resume-preview-caret{transform:rotate(180deg)}.resume-preview-frame{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;height:clamp(28rem,60vw,44rem);overflow:hidden}.resume-preview iframe{border:0;width:100%;height:100%;display:block}.resume-preview>p{color:var(--muted);margin-block:.75rem 1.5rem;font-size:.875rem}.resume-preview>p a{color:var(--accent);text-underline-offset:.25em}.contact-section{background:var(--surface-subtle);margin-top:clamp(2rem,4vw,4rem);padding-top:clamp(4rem,7vw,6.5rem)}.contact-section h2{margin-top:1.15rem}.contact-links{margin-top:2.5rem;padding-bottom:clamp(4rem,7vw,6rem);display:grid}.contact-links a{border-top:1px solid var(--line);min-height:4.5rem;transition:color var(--ease);grid-template-columns:8.5rem minmax(0,1fr) 1rem;align-items:center;gap:1rem;text-decoration:none;display:grid}.contact-channel{color:var(--muted);transition:color var(--ease)}.contact-value{align-items:center;gap:.75rem;min-width:0;font-size:clamp(1rem,2vw,1.375rem);font-weight:500;display:inline-flex}.contact-handle{overflow-wrap:anywhere;word-break:break-word;min-width:0}.contact-icon{width:1.25rem;height:1.25rem;color:var(--contact-icon);flex-shrink:0}.contact-arrow{color:var(--muted);transition:color var(--ease), transform var(--ease)}.contact-links a:hover .contact-channel{color:var(--ink)}.contact-links a:hover .contact-arrow{color:var(--accent);transform:translate(2px,-2px)}.contact-links a:last-child{border-bottom:1px solid var(--line)}.contact-links a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);min-height:5rem;color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.8125rem;display:flex}@media (width<=1150px){.hero{grid-template-columns:minmax(0,1fr) 15rem;gap:2rem}.about-layout{grid-template-columns:minmax(0,1fr)}.terminal{max-width:34rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem 1rem}}@media (width<=850px){.header-inner{flex-wrap:wrap;gap:.3rem 1rem;padding-block:1rem .5rem}.site-header nav{order:3;width:100%;margin-left:0}.theme-toggle{margin-left:auto}}@media (width<=820px){.project-grid{grid-template-columns:1fr;gap:2.75rem 1rem}.entry{grid-template-columns:minmax(0,1fr);gap:1rem}.entry-footer{flex-direction:column;align-items:start}}@media (width<=600px){.terminal dt{white-space:normal}.terminal dl div{grid-template-columns:1fr;gap:.15rem}.hero{grid-template-columns:minmax(0,1fr);padding-block:4.5rem 5rem}.hero h1{overflow-wrap:anywhere}.hero-portrait{grid-row:1;width:min(100%,15rem)}.intro-list{margin-top:1.5rem}.contact-links a{grid-template-columns:1fr auto;gap:.2rem 1rem;padding-block:.75rem}.contact-links a strong{grid-area:2/1}.contact-links a .contact-arrow,.contact-links a span:last-child{grid-area:1/2/3}}@media (width<=390px){.nav-links{gap:1rem}.resume-header{flex-direction:column;align-items:start}}.has-motion .site-header{animation:.5s .1s both hero-header-fade}.has-motion .wordmark,.has-motion .nav-links li,.has-motion .theme-toggle{will-change:opacity, transform;animation:.5s cubic-bezier(.16,1,.3,1) both hero-fade-down}.has-motion .wordmark{animation-delay:.2s}.has-motion .nav-links li:first-child{animation-delay:.28s}.has-motion .nav-links li:nth-child(2){animation-delay:.36s}.has-motion .nav-links li:nth-child(3){animation-delay:.44s}.has-motion .nav-links li:nth-child(4){animation-delay:.52s}.has-motion .nav-links li:nth-child(5){animation-delay:.6s}.has-motion .theme-toggle{animation-delay:.68s}.has-motion .hero-portrait{will-change:opacity, transform;animation:.8s cubic-bezier(.16,1,.3,1) .9s both hero-portrait-in}.has-motion .hero h1{will-change:opacity, transform;animation:.7s cubic-bezier(.16,1,.3,1) 1.05s both hero-headline-in}.has-motion .intro-list li{will-change:opacity, transform;animation:.6s cubic-bezier(.16,1,.3,1) both hero-list-item-in}.has-motion .intro-list li:first-child{animation-delay:1.2s}.has-motion .intro-list li:nth-child(2){animation-delay:1.35s}.has-motion .intro-list li:nth-child(3){animation-delay:1.5s}.has-motion .intro-list li:nth-child(4){animation-delay:1.65s}@keyframes hero-header-fade{0%{border-bottom-color:#0000}to{border-bottom-color:var(--line)}}@keyframes hero-fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-headline-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0,0)}}@keyframes hero-portrait-in{0%{opacity:0;transform:translate(-28px,-20px)scale(.95)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes hero-list-item-in{0%{opacity:0;transform:translate(16px,8px)}to{opacity:1;transform:translate(0,0)}}@media (width<=760px){.has-motion .hero h1{animation-name:hero-headline-in-mobile}.has-motion .hero-portrait{animation-name:hero-portrait-in-mobile}.has-motion .intro-list li{animation-name:hero-list-item-in-mobile}}@keyframes hero-headline-in-mobile{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translate(0,0)}}@keyframes hero-portrait-in-mobile{0%{opacity:0;transform:translateY(-20px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes hero-list-item-in-mobile{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}.has-motion [data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(1.75rem)}.has-motion [data-reveal].is-visible{opacity:1;transform:translateY(0)}.has-motion [data-reveal=card]{transform:translateY(2rem)scale(.985)}.has-motion [data-reveal=card].is-visible{opacity:1;transform:translateY(0)scale(1)}.has-motion [data-reveal=slide]{transform:translate(-1rem)}.has-motion [data-reveal=slide].is-visible{opacity:1;transform:translate(0)}.has-motion .about-copy[data-reveal]{opacity:1;will-change:auto;transition:none;transform:none}.has-motion .about-copy p{opacity:0;will-change:opacity, transform;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translate(-18px,12px)}.has-motion .about-copy.is-visible p{opacity:1;transform:translate(0,0)}.has-motion .about-copy.is-visible p:first-child{transition-delay:.1s}.has-motion .about-copy.is-visible p:nth-child(2){transition-delay:.24s}.has-motion .about-copy.is-visible p:nth-child(3){transition-delay:.38s}.has-motion .about-copy.is-visible p:nth-child(4){transition-delay:.52s}.has-motion .about-copy.is-visible p:nth-child(n+5){transition-delay:.64s}.has-motion .about-layout .terminal[data-reveal=card]{transition:opacity .7s cubic-bezier(.16,1,.3,1) .22s,transform .7s cubic-bezier(.16,1,.3,1) .22s;transform:translate(18px,-1.75rem)scale(.98)}.has-motion .about-layout .terminal[data-reveal=card].is-visible{opacity:1;transform:translate(0,0)scale(1)}@media (width<=760px){.has-motion .about-copy p{transform:translateY(14px)}.has-motion .about-layout .terminal[data-reveal=card]{transform:translateY(-1.75rem)scale(.985)}}.has-motion .project-grid .project-card[data-reveal=card]{transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(2rem)scale(.985)}.has-motion .project-grid .project-card[data-reveal=card]:first-child{transition-delay:60ms}.has-motion .project-grid .project-card[data-reveal=card]:nth-child(2){transition-delay:.14s}.has-motion .project-grid .project-card[data-reveal=card]:nth-child(3){transition-delay:.22s}.has-motion .project-grid .project-card[data-reveal=card]:nth-child(4){transition-delay:.3s}.has-motion .project-grid .project-card[data-reveal=card]:nth-child(5){transition-delay:.38s}.has-motion .project-grid .project-card[data-reveal=card]:nth-child(n+6){transition-delay:.44s}.has-motion .project-grid .project-card[data-reveal=card].is-visible{opacity:1;transform:translate(0,0)scale(1)}.has-motion .more-projects[data-reveal=slide]{transition-delay:.38s}.has-motion .project-extras .journal-heading[data-reveal]{transition-delay:.1s}.has-motion .project-extras .terminal[data-reveal=card]{transition:opacity .7s cubic-bezier(.16,1,.3,1) .35s,transform .7s cubic-bezier(.16,1,.3,1) .35s;transform:translateY(2rem)scale(.985)}.has-motion .project-extras .terminal[data-reveal=card].is-visible{opacity:1;transform:translate(0,0)scale(1)}.has-motion .resume-section [data-reveal]{transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.has-motion .resume-header [data-reveal]:first-child{transition-delay:60ms}.has-motion .resume-header .button[data-reveal]{transition-delay:.18s;transform:translate(18px)}.has-motion .resume-header .button[data-reveal].is-visible{opacity:1;transform:translate(0,0)}.has-motion .resume-preview[data-reveal]{transition-delay:.28s}.has-motion .off-the-clock .personal-journal[data-reveal]{opacity:1;will-change:auto;transition:none;transform:none}.has-motion .off-the-clock .journal-feature{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(1.5rem)}.has-motion .off-the-clock .journal-note{opacity:0;will-change:opacity, transform;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transform:translateY(14px)}.has-motion .off-the-clock .soundtrack{opacity:0;will-change:opacity, transform;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(14px)}.has-motion .off-the-clock .personal-journal.is-visible .journal-feature{opacity:1;transition-delay:80ms;transform:translate(0,0)}.has-motion .off-the-clock .personal-journal.is-visible .journal-note:first-child{opacity:1;transition-delay:.18s;transform:translate(0,0)}.has-motion .off-the-clock .personal-journal.is-visible .journal-note:nth-child(2){opacity:1;transition-delay:.28s;transform:translate(0,0)}.has-motion .off-the-clock .personal-journal.is-visible .journal-note:nth-child(n+3),.has-motion .off-the-clock .personal-journal.is-visible .soundtrack{opacity:1;transition-delay:.36s;transform:translate(0,0)}.has-motion .contact-section .eyebrow[data-reveal]{transition-delay:60ms}.has-motion .contact-section h2[data-reveal]{transition-delay:.16s}.has-motion .contact-links [data-reveal=slide]{transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transform:translate(-1.25rem)}.has-motion .contact-links [data-reveal=slide]:first-child{transition-delay:.24s}.has-motion .contact-links [data-reveal=slide]:nth-child(2){transition-delay:.34s}.has-motion .contact-links [data-reveal=slide]:nth-child(3){transition-delay:.44s}.has-motion .contact-links [data-reveal=slide].is-visible{opacity:1;transform:translate(0,0)}[data-cli-state=ready] [data-terminal-output],[data-cli-state=typing] [data-terminal-output],[data-cli-state=ready] [data-terminal-bottom],[data-cli-state=typing] [data-terminal-bottom]{visibility:hidden;opacity:0;pointer-events:none}[data-cli-state=executed] .terminal-command-line [data-terminal-cursor]{display:none!important}[data-cli-state=executed] [data-terminal-output],[data-cli-state=executed] [data-terminal-bottom]{visibility:visible;animation:.35s cubic-bezier(.16,1,.3,1) forwards cli-stdout-reveal}@keyframes cli-stdout-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.has-motion .tmux-body{transition:grid-template-columns .45s cubic-bezier(.16,1,.3,1)}[data-tmux-state=ready] .tmux-body,[data-tmux-state=typing-quests] .tmux-body,[data-tmux-state=quests-done] .tmux-body{grid-template-columns:minmax(0,1fr)}[data-tmux-state=ready] .tmux-pane-git,[data-tmux-state=typing-quests] .tmux-pane-git,[data-tmux-state=quests-done] .tmux-pane-git{display:none!important}[data-tmux-state=ready] [data-tmux-stdout-0],[data-tmux-state=typing-quests] [data-tmux-stdout-0]{visibility:hidden;opacity:0;pointer-events:none}[data-tmux-state=quests-done] [data-tmux-cursor-0],[data-tmux-state=splitting] [data-tmux-cursor-0],[data-tmux-state=typing-git] [data-tmux-cursor-0],[data-tmux-state=completed] [data-tmux-cursor-0]{display:none!important}[data-tmux-state=quests-done] [data-tmux-stdout-0],[data-tmux-state=splitting] [data-tmux-stdout-0],[data-tmux-state=typing-git] [data-tmux-stdout-0],[data-tmux-state=completed] [data-tmux-stdout-0]{visibility:visible;animation:.35s cubic-bezier(.16,1,.3,1) forwards cli-stdout-reveal}[data-tmux-state=splitting] .tmux-pane-git,[data-tmux-state=typing-git] .tmux-pane-git,[data-tmux-state=completed] .tmux-pane-git{display:flex}.has-motion [data-tmux-state=splitting] .tmux-pane-git{animation:.45s cubic-bezier(.16,1,.3,1) both tmux-split-reveal}[data-tmux-state=splitting] [data-tmux-stdout-1],[data-tmux-state=typing-git] [data-tmux-stdout-1]{visibility:hidden;opacity:0;pointer-events:none}[data-tmux-state=completed] [data-tmux-cursor-1]{display:none!important}[data-tmux-state=completed] [data-tmux-stdout-1]{visibility:visible;animation:.35s cubic-bezier(.16,1,.3,1) forwards cli-stdout-reveal}@keyframes tmux-split-reveal{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0,0)}}@media (width<=880px){@keyframes tmux-split-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translate(0,0)}}}.has-motion .timeline-dot.is-blinking{animation:.5s cubic-bezier(.2,.9,.3,1) forwards timeline-dot-blink}:root[data-theme=light].has-motion .timeline-dot.is-blinking{animation-name:timeline-dot-blink-light}@keyframes timeline-dot-blink-light{0%{background:var(--paper);border-color:var(--line);box-shadow:none;transform:scale(.9)}50%{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 20%, transparent);transform:scale(1.5)}to{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);transform:scale(1)}}@keyframes timeline-dot-blink{0%{background:var(--paper);border-color:var(--line);transform:scale(.9);box-shadow:0 0 #ffa50000}15%{background:#fff;border-color:#fff;transform:scale(1.6);box-shadow:0 0 18px 5px #ffa500f2,0 0 6px 2px #fff}35%{background:var(--accent);border-color:var(--accent);transform:scale(1.05);box-shadow:0 0 6px 1px #ffa50080}55%{background:#fff;border-color:#fff;transform:scale(1.5);box-shadow:0 0 20px 6px #ffa500f2,0 0 6px 2px #fff}75%{background:var(--accent);border-color:var(--accent);transform:scale(1.05);box-shadow:0 0 8px 2px #ffa50099}to{background:var(--accent);border-color:var(--accent);transform:scale(1);box-shadow:0 0 10px 2px #ffa50066}}.has-motion .entry .entry-identity{opacity:0;will-change:opacity, transform;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translate(-18px)}.has-motion .entry .entry-content{opacity:0;will-change:opacity, transform;transition:opacity .5s cubic-bezier(.16,1,.3,1) 50ms,transform .5s cubic-bezier(.16,1,.3,1) 50ms;transform:translateY(14px)}.has-motion .entry.is-content-visible .entry-identity,.has-motion .entry.is-content-visible .entry-content{opacity:1;transform:translate(0,0)}@media (width<=760px){.has-motion .entry .entry-identity{transform:translateY(14px)}}:root:not(.has-motion) .timeline-trail-line{height:100%!important}:root:not(.has-motion) .timeline-dot{background:var(--accent)!important;border-color:var(--accent)!important;opacity:1!important}:root:not(.has-motion) .entry-identity,:root:not(.has-motion) .entry-content,:root:not(.has-motion) .journal-feature,:root:not(.has-motion) .journal-note,:root:not(.has-motion) .soundtrack{opacity:1!important;transform:none!important}:root:not(.has-motion) [data-terminal-output],:root:not(.has-motion) [data-terminal-bottom],:root:not(.has-motion) [data-tmux-stdout-0],:root:not(.has-motion) [data-tmux-stdout-1]{visibility:visible!important;opacity:1!important}:root:not(.has-motion) .tmux-pane-git{display:flex!important}:root:not(.has-motion) .terminal-command-line [data-terminal-cursor],:root:not(.has-motion) [data-tmux-cursor-0],:root:not(.has-motion) [data-tmux-cursor-1]{display:none!important}.scroll-progress{z-index:45;pointer-events:none;opacity:0;visibility:hidden;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),visibility .7s;position:fixed;bottom:clamp(1.5rem,3.5vh,2.5rem);right:clamp(1.25rem,2.5vw,2.5rem);transform:translate(48px)}.scroll-progress.is-visible{opacity:1;visibility:visible;transform:translate(0,0)}.scroll-progress-list{flex-direction:column;align-items:flex-end;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.scroll-progress-item{justify-content:flex-end;display:flex}.scroll-progress-link{pointer-events:auto;font-family:var(--font);letter-spacing:.035em;color:var(--muted);opacity:.38;transform-origin:100%;backface-visibility:hidden;will-change:transform, opacity;cursor:pointer;white-space:nowrap;user-select:none;text-shadow:0 1px 3px var(--paper);align-items:baseline;gap:.4rem;padding:.15rem .25rem;font-size:.75rem;font-weight:400;line-height:1.35;text-decoration:none;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .32s,color .32s;display:inline-flex;transform:translateZ(0)scale(1)}.scroll-progress-link:hover,.scroll-progress-link:focus-visible{opacity:1;color:var(--ink);transform:translateZ(0)scale(1.22)}.scroll-progress-link:hover .scroll-progress-num,.scroll-progress-link:focus-visible .scroll-progress-num{color:var(--accent)}.scroll-progress-link.is-active{opacity:1;color:var(--ink);transform:translateZ(0)scale(1.22)}.scroll-progress-link.is-active .scroll-progress-num{color:var(--accent)}.scroll-progress-link.is-active:hover{transform:translateZ(0)scale(1.25)}.scroll-progress-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";transition:color .32s}.scroll-progress-name{letter-spacing:.02em}@media (width<=640px){.scroll-progress{bottom:1rem;right:.875rem}.scroll-progress-list{gap:.25rem}.scroll-progress-link{gap:.3rem;font-size:.6875rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.has-motion [data-reveal],.has-motion .about-copy p,.has-motion .entry-identity,.has-motion .entry-content,.has-motion .journal-feature,.has-motion .journal-note,.has-motion .soundtrack{opacity:1!important;transition:none!important;transform:none!important}[data-terminal-output]{visibility:visible!important;opacity:1!important;animation:none!important;display:grid!important;transform:none!important}[data-terminal-bottom]{visibility:visible!important;opacity:1!important;animation:none!important;display:flex!important;transform:none!important}[data-tmux-stdout-0],[data-tmux-stdout-1]{visibility:visible!important;opacity:1!important;animation:none!important;transform:none!important}.tmux-pane-git{opacity:1!important;animation:none!important;display:flex!important;transform:none!important}.terminal-command-line [data-terminal-cursor],[data-tmux-cursor-0],[data-tmux-cursor-1]{display:none!important}.timeline-trail-line{height:100%!important}.timeline-dot{background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:none!important;transition:none!important;animation:none!important}.entry-identity,.entry-content{opacity:1!important;transition:none!important;transform:none!important}}
