@font-face{font-family:Departure Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/DepartureMono-Regular-2BZob_Zz.woff2) format("woff2")}:root{font-family:Departure Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--desktop: #101313;--sidebar: #141817;--panel: #171b1a;--raised: #1f2422;--line: rgb(235 238 232 / 8%);--line-strong: rgb(235 238 232 / 12%);--bright: #ebeee8;--text: #c2c8c3;--muted: #8b958c;--green: #b8e994;--blue: #9abed6;--red: #ef9b92;--shadow: #00000040;--ease: cubic-bezier(.2, .7, .2, 1);color:var(--text);background:var(--desktop);color-scheme:dark}:root[data-theme=light]{--desktop: #e6e8df;--sidebar: #eff1e8;--panel: #f8f9f3;--raised: #e9ece2;--line: rgb(35 55 36 / 10%);--line-strong: rgb(35 55 36 / 16%);--bright: #1f2e20;--text: #435043;--muted: #5f6b5c;--green: #3f701d;--blue: #346b91;--red: #b43935;--shadow: #32432a1a;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--desktop)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button,a,input{outline-offset:2px}:focus-visible{outline:2px solid var(--green)}::selection{background:#b8e9944d;color:var(--bright)}svg{flex:0 0 auto;vertical-align:middle}p,h1,h2,h3,ul,dl,dd{margin:0}ul{padding:0;list-style:none}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-64px;z-index:30;padding:12px 16px;color:var(--desktop);background:var(--green)}.skip-link:focus{top:12px}kbd{display:inline-block;min-width:20px;height:20px;padding:0 4px;border:1px solid var(--line-strong);border-radius:4px;background:var(--raised);color:var(--text);font:inherit;font-size:11px;line-height:18px;text-align:center}kbd+kbd{margin-left:4px}.desktop{min-height:100dvh;display:flex;flex-direction:column}.desktop-bar{position:relative;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:11px;color:var(--muted)}.os-brand{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--bright)}.os-brand>svg{color:var(--green)}.os-suffix{color:var(--muted);font-weight:400}.desktop-clock{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:12px;font-variant-numeric:tabular-nums}.desktop-clock span{color:var(--text)}.icon-button{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;color:var(--muted);transition:color .15s var(--ease),background-color .15s var(--ease)}.icon-button:hover{background:var(--raised);color:var(--bright)}.desktop-main{flex:1;display:flex;width:100%;max-width:1440px;margin:0 auto;padding:0 24px 24px}.terminal-window{flex:1;height:calc(100dvh - 72px);min-height:560px;max-height:1080px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);box-shadow:0 24px 64px var(--shadow)}.window-bar{position:relative;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:0 4px;border-bottom:1px solid var(--line);background:var(--sidebar)}.window-title{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;color:var(--muted);font-size:11px}.explorer-toggle{display:none}.workspace{position:relative;flex:1;min-height:0;display:flex}.sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;padding:16px 12px;border-right:1px solid var(--line);background:var(--sidebar);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sidebar-label{padding:0 8px;margin-bottom:8px;color:var(--muted);font-size:11px}.sidebar-label:not(:first-child){margin-top:24px}.tree-item,.sidebar-links a{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border-radius:6px;font-size:11px;text-align:left;color:var(--text);transition:color .15s var(--ease),background-color .15s var(--ease)}.tree-item svg,.sidebar-links svg{color:var(--muted)}.tree-item:hover,.sidebar-links a:hover{background:var(--raised);color:var(--bright)}.tree-item.is-active{color:var(--bright)}.tree-group{position:relative}.tree-group .tree-item{position:relative;z-index:1}.tree-group .tree-item.is-active:hover{background:transparent}.tree-indicator{position:absolute;top:0;left:0;height:32px;border-radius:6px;background:var(--raised);opacity:0;pointer-events:none;transition:transform .22s var(--ease),opacity .15s var(--ease)}.tree-item.is-active svg{color:var(--green)}.file-tree{position:relative;display:flex;flex-direction:column;gap:2px;margin-top:2px;padding-left:20px}.file-tree:before{content:"";position:absolute;top:0;bottom:16px;left:15px;width:1px;background:var(--line-strong)}.tree-slash{margin-left:auto;color:var(--muted)}.sidebar-links{display:flex;flex-direction:column;gap:2px}.sidebar-help{margin-top:auto}.terminal-pane{flex:1;min-width:0;display:flex;flex-direction:column}.terminal-output{position:relative;flex:1;min-height:0;padding:32px 40px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.command-entry+.command-entry{margin-top:40px;padding-top:32px;border-top:1px dashed var(--line-strong)}.command-line{margin-bottom:24px;font-size:11px;line-height:20px;overflow-wrap:anywhere}.prompt-user{color:var(--green)}.prompt-host,.prompt-colon,.prompt-symbol{color:var(--muted)}.prompt-path{color:var(--blue)}.prompt-symbol{margin-right:8px}.executed-command{color:var(--bright)}.command-area{position:relative;flex-shrink:0;padding:12px 40px;border-top:1px solid var(--line);background:var(--panel)}.command-form{display:flex;align-items:center;gap:0;font-size:11px}.command-form .prompt{flex-shrink:0;white-space:nowrap}.command-form input{flex:1;min-width:0;width:100%;height:32px;padding:0;border:0;outline:none;background:transparent;color:var(--bright);caret-color:var(--green);font-size:11px}.command-form input::placeholder{color:var(--muted)}.run-button{width:32px;height:32px;border-radius:6px;color:var(--muted);font-size:11px;transition:color .15s var(--ease),background-color .15s var(--ease)}.run-button:hover{background:var(--raised);color:var(--bright)}.completion-list{position:absolute;bottom:100%;left:32px;right:32px;display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--line-strong);border-bottom:0;border-radius:8px 8px 0 0;background:var(--raised)}.completion-list button{height:28px;padding:0 8px;border:1px solid var(--line-strong);border-radius:4px;color:var(--bright);font-size:11px}.completion-list button:hover,.completion-list button:focus-visible{background:var(--panel)}.window-status{height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-top:1px solid var(--line);background:var(--sidebar);color:var(--muted);font-size:11px}.input-hints{display:flex;align-items:center;gap:16px}.input-hints kbd{min-width:18px;height:18px;line-height:16px;margin-right:4px}.input-hints kbd+kbd{margin-left:0}.neofetch{display:flex;align-items:center;gap:40px}.tux{margin:0;color:var(--green);font-family:inherit;font-size:11px;line-height:20px}.neofetch-info{min-width:0}.neofetch h1,.neofetch h3{padding-bottom:12px;margin-bottom:12px;border-bottom:1px dashed var(--line-strong);color:var(--bright)}.neofetch h1{font-size:44px;line-height:44px}.neofetch h3{font-size:11px;line-height:24px}.neofetch dl{display:grid;gap:4px;font-size:11px;line-height:20px}.neofetch dl>div{display:grid;grid-template-columns:64px 1fr;gap:16px}.neofetch dt{color:var(--green)}.neofetch dd{color:var(--text)}.color-swatches{display:flex;margin-top:16px}.color-swatches i{width:24px;height:16px}.color-swatches .red{background:#d4887a}.color-swatches .green{background:#a6c98a}.color-swatches .yellow{background:#d2cc84}.color-swatches .blue{background:#93b4c1}.color-swatches .magenta{background:#ac9ac9}.color-swatches .cyan{background:#8cc4b8}.dir-list{margin:32px -8px 0}.dir-list button{display:grid;grid-template-columns:96px 136px 1fr;align-items:center;gap:16px;width:100%;height:36px;padding:0 8px;border-radius:6px;font-size:11px;text-align:left;transition:background-color .15s var(--ease)}.dir-list button:hover{background:var(--raised)}.dir-mode,.dir-description{color:var(--muted)}.dir-name.is-directory{color:var(--blue)}.dir-name.is-file,.dir-list button:hover .dir-description{color:var(--text)}.directory-output>.muted{margin-bottom:8px;font-size:11px}.directory-output .dir-list{margin-top:0}.dir-list button>span{overflow-wrap:anywhere}.welcome-note{margin-top:16px;color:var(--muted);font-size:11px;line-height:20px}.welcome-note button,.empty-terminal button{color:var(--bright);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}.welcome-note button:hover,.empty-terminal button:hover{text-decoration-color:currentColor}.section-heading{margin-bottom:24px}.section-heading h2{color:var(--bright);font-size:22px;line-height:32px}h3{color:var(--bright);font-size:11px;line-height:24px}.lead-copy{max-width:680px;color:var(--text);font-size:11px;line-height:20px}.detail-list{display:flex;flex-direction:column;gap:8px;margin:24px 0;font-size:11px;line-height:20px}.detail-list>div{display:flex;gap:16px}.detail-list dt{min-width:96px;color:var(--muted)}.text-button{display:inline-flex;align-items:center;gap:8px;height:36px;color:var(--bright);font-size:11px;transition:color .15s var(--ease)}.text-button svg{color:var(--muted);transition:transform .15s var(--ease)}.text-button:hover{color:var(--green)}.text-button:hover svg{transform:translate(2px)}.timeline{margin:32px 0 0 4px;padding-left:24px;border-left:1px solid var(--line-strong)}.experience-entry{position:relative;padding-bottom:40px}.experience-entry:last-child{padding-bottom:0}.timeline-node{position:absolute;left:-29px;top:6px;width:9px;height:9px;border:2px solid var(--muted);border-radius:50%;background:var(--panel)}.timeline-node.current{border-color:var(--green);background:var(--green)}.entry-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;line-height:20px}.experience-entry h3,.project-entry h3{margin-top:8px;font-size:22px;line-height:28px}.role-name{margin-top:4px;color:var(--text);font-size:11px;line-height:20px}.entry-summary{margin-top:12px;color:var(--muted);font-size:11px;line-height:20px}.highlights{display:flex;flex-direction:column;gap:8px;max-width:880px;margin-top:16px;font-size:11px;line-height:20px}.highlights li{position:relative;padding-left:20px}.highlights li:before{content:"-";position:absolute;left:0;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:16px;color:var(--muted);font-size:11px;line-height:20px}.project-entry{padding:24px 0 32px;border-top:1px solid var(--line)}.project-entry:first-of-type{border-top:0;padding-top:0}.project-period{color:var(--muted);font-size:11px;line-height:20px}.project-entry h3{max-width:560px}.project-link{display:inline-flex;align-items:center;gap:8px;transition:color .15s var(--ease)}.project-link svg{color:var(--muted)}.project-link:hover{color:var(--green)}.hobby-detail{display:block;color:var(--muted)}.hobby-link{margin-top:4px;color:var(--bright)}.art-viewer{width:min(1200px,calc(100vw - 32px));height:min(920px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 24px 64px var(--shadow);overflow:hidden}.art-viewer[open]{display:flex;flex-direction:column}.art-viewer::backdrop{background:#0009}.art-bar{position:relative;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:0 4px;border-bottom:1px solid var(--line);background:var(--sidebar)}.art-title{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;color:var(--text);font-size:11px}.art-title .muted{margin-left:8px}.art-stage{position:relative;flex:1;min-height:0}.art-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.art-track::-webkit-scrollbar{display:none}.art-slide{flex:0 0 100%;height:100%;margin:0;padding:24px 64px;scroll-snap-align:center;scroll-snap-stop:always}.art-slide img{display:block;width:100%;height:100%;object-fit:contain}.art-nav{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;border:1px solid var(--line-strong);border-radius:8px;background:var(--sidebar);color:var(--text);transition:color .15s var(--ease),background-color .15s var(--ease),opacity .15s var(--ease)}.art-nav:hover:not(:disabled){background:var(--raised);color:var(--bright)}.art-nav:disabled{opacity:.3;cursor:default}.art-nav.is-prev{left:12px}.art-nav.is-prev svg{transform:scaleX(-1)}.art-nav.is-next{right:12px}.art-thumbs{flex-shrink:0;display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--sidebar);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.art-thumb:first-child{margin-left:auto}.art-thumb:last-child{margin-right:auto}.art-thumb{flex-shrink:0;height:64px;padding:0;border-radius:4px;opacity:.55;transition:opacity .15s var(--ease)}.art-thumb img{display:block;height:64px;width:auto;border-radius:4px}.art-thumb:hover{opacity:.85}.art-thumb[aria-current]{opacity:1;outline:2px solid var(--green);outline-offset:2px}.skill-group{padding:20px 0;border-top:1px solid var(--line)}.skill-group:first-child{border-top:0;padding-top:0}.skill-group h3{font-size:11px;line-height:20px}.skill-group .tags{margin-top:8px;color:var(--text);font-size:11px}.university{display:flex;align-items:center;gap:16px;margin-bottom:24px}.longhorn{flex-shrink:0;fill:#bf5700}.university p{margin-top:4px;color:var(--muted);font-size:11px}.concentration{margin-top:8px;color:var(--muted);font-size:11px}.concentration span{color:var(--text)}.small-heading{margin-top:32px;font-size:11px;line-height:20px}.contact-list{display:flex;flex-direction:column;margin:0 -8px 16px}.contact-link{display:flex;align-items:center;gap:16px;min-height:64px;padding:12px 8px;border-top:1px solid var(--line);transition:background-color .15s var(--ease)}.contact-link:first-child{border-top:0}.contact-link>svg{color:var(--muted)}.contact-link>span{display:flex;flex-direction:column;gap:4px;min-width:0}.contact-link strong{color:var(--bright);font-size:11px}.contact-link>span>span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.contact-link>svg:last-child{margin-left:auto}.contact-link:hover{background:var(--raised)}.contact-link:hover>svg:last-child{color:var(--bright)}.help-output dl{font-size:11px;line-height:20px}.help-output dl>div{display:grid;grid-template-columns:176px 1fr;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.help-output dt{color:var(--bright)}.help-output dd{color:var(--muted)}.help-keys{display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0 12px;color:var(--muted);font-size:11px}.help-keys kbd{margin-right:4px}.help-keys kbd+kbd{margin-left:0}.help-output>p.muted{font-size:11px}.output-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--line-strong);color:var(--bright);font-size:11px}.output-link svg{color:var(--muted)}.output-link:hover{border-bottom-color:currentColor}.text-output{margin:0;font-family:inherit;font-size:11px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}.error-output{color:var(--red);font-size:11px;line-height:20px;overflow-wrap:anywhere}.empty-terminal{color:var(--muted);font-size:11px}.sidebar-backdrop{display:none}.print-in{animation:print-in .24s var(--ease) both;animation-delay:calc(var(--line, 0) * 28ms)}@keyframes print-in{0%{opacity:0;transform:translateY(4px)}}@media(max-width:1150px){.sidebar{width:208px}.terminal-output{padding:24px 32px}.command-area{padding:12px 32px}.neofetch{gap:32px}}@media(max-width:760px){.desktop-bar{padding:0 12px 0 16px}.desktop-clock{position:static;transform:none;margin-left:auto;margin-right:8px}.desktop-clock>span{display:none}.desktop-main{padding:0 8px 8px}.terminal-window{height:calc(100dvh - 56px);min-height:480px;border-radius:8px}.window-bar{justify-content:flex-start}.window-title{font-size:11px}.reset-button{display:none}.explorer-toggle{display:grid}.sidebar{display:none}.sidebar.is-open{display:flex;position:absolute;inset:0 auto 0 0;z-index:6;width:240px;box-shadow:16px 0 32px var(--shadow)}.sidebar-backdrop{display:block;position:absolute;inset:0;z-index:5;background:#00000050}.terminal-output{padding:24px 16px}.command-area{padding:8px 8px 8px 16px}.command-form input{font-size:16px}.prompt-active .prompt-host{display:none}.prompt-active .prompt-path{display:inline-block;max-width:80px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.input-hints{display:none}.neofetch{flex-direction:column;align-items:flex-start;gap:24px}.tux{font-size:11px;line-height:16px}.neofetch h1{font-size:33px;line-height:40px}.dir-list button{grid-template-columns:112px 1fr;height:auto;min-height:36px;padding:8px;line-height:20px}.dir-mode{display:none}.help-output dl>div{grid-template-columns:1fr;gap:4px}.section-heading h2{font-size:22px;line-height:32px}.art-viewer{width:100vw;height:100dvh;border:0;border-radius:0}.art-slide{padding:16px}.art-nav{display:none}}@media(max-width:440px){.desktop-clock{display:none}.command-line{font-size:11px}.neofetch dl>div{grid-template-columns:56px 1fr;gap:12px}.dir-list button{grid-template-columns:104px 1fr;gap:12px}.entry-meta{flex-direction:column;gap:0}.timeline{padding-left:16px;margin-left:4px}.timeline-node{left:-21px}.detail-list>div{flex-direction:column;gap:0}.highlights{font-size:11px;line-height:20px}}@media(min-width:761px)and (max-height:850px){.terminal-output{padding-top:24px}.dir-list{margin-top:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
