@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap";:root{color-scheme:dark;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page: #08070b;--surface: #0d0c11;--raised: #151319;--text: #f1e9e5;--text-soft: #c4b7b4;--text-dim: #aa9ca0;--rose: #d6819e;--line: rgba(241, 233, 229, .13);--selection: rgba(214, 129, 158, .32);--container: 1040px;--gutter: clamp(20px, 8vw, 96px);--motion-fast: .16s;--motion-standard: .22s;--motion-ease: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light]{color-scheme:light;--page: #f4f5f6;--surface: #ffffff;--raised: #eceff1;--text: #1d2024;--text-soft: #4f555c;--text-dim: #626a73;--rose: #b63468;--line: rgba(29, 32, 36, .16);--selection: rgba(182, 52, 104, .18)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:56px}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--page);color:var(--text);font-size:16px;line-height:1.6;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}button,a{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:4px}::selection{background:var(--selection);color:var(--text)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-delay:0ms!important;transition-duration:.01ms!important}}#root{min-height:100vh}.site-container{width:min(calc(100% - (2 * var(--gutter))),var(--container));margin-inline:auto}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.terminal-typewriter{display:inline-flex;min-height:1.2em;align-items:baseline}.terminal-cursor{display:inline-block;width:.52em;height:1em;margin-left:.3em;background:var(--rose);animation:terminal-cursor .75s steps(1,end) infinite;vertical-align:-.12em}.terminal-cursor.is-paused{animation-play-state:paused;opacity:.55}.terminal-print-item{opacity:0;transform:translateY(4px)}.terminal-print-group.is-visible .terminal-print-item{animation:terminal-print-row .33s steps(6,end) both;animation-delay:calc(var(--print-delay, 0ms) + var(--print-order, 0ms))}.terminal-print-group.is-visible .terminal-print-item--clip{animation-name:terminal-print-clip;animation-duration:.66s;animation-timing-function:steps(12,end)}.terminal-print-group.is-visible .terminal-print-item--media{animation-name:terminal-print-media;animation-duration:.44s}@keyframes terminal-print-row{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes terminal-print-clip{0%{opacity:.35;clip-path:inset(0 100% 0 0);transform:translateY(0)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes terminal-print-media{0%{opacity:0;clip-path:inset(0 0 12% 0);transform:translateY(6px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.section{scroll-margin-top:56px;padding-block:clamp(80px,8vw,96px);border-top:1px solid var(--line);transition:border-color var(--motion-fast) var(--motion-ease)}.section-heading{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:baseline;margin-bottom:clamp(28px,4vw,44px)}.section-index{margin:0;color:var(--rose);font-size:.75rem}.section-index:before{content:"["}.section-index:after{content:"]"}.section-heading h2{margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;letter-spacing:-.045em;line-height:1}.section-heading h2:before{content:"> ";color:var(--rose)}.section-command{margin:0 0 18px;color:var(--text-dim);font-size:.75rem}.section-command>span:first-child{color:var(--rose)}.section-command .terminal-typewriter{min-width:19ch}.section:target .section-index,.section:target .section-heading h2:before{animation:anchor-confirm .42s var(--motion-ease) both}@keyframes anchor-confirm{0%{color:var(--rose);opacity:.45}48%{color:var(--text);opacity:1}to{color:var(--rose);opacity:1}}.navbar{position:fixed;top:0;right:0;left:0;z-index:50;height:56px;visibility:hidden;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--page) 94%,transparent);opacity:0;transform:translateY(-5px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity var(--motion-standard) var(--motion-ease),transform var(--motion-standard) var(--motion-ease),visibility 0s linear var(--motion-standard)}.navbar.is-visible,.navbar.is-menu-open{visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s}.navbar__inner{display:flex;height:100%;align-items:center;justify-content:space-between}.navbar__brand{display:inline-flex;min-height:44px;align-items:center;color:var(--text);font-size:1rem;font-weight:600;text-decoration:none}.navbar__brand span{color:var(--rose)}.navbar__links{display:flex;align-items:center;gap:clamp(20px,2.5vw,36px);margin:0;padding:0;list-style:none}.navbar__links a{position:relative;display:inline-flex;min-height:44px;align-items:center;color:var(--text-soft);font-size:.78rem;text-decoration:none;transition:color var(--motion-fast) var(--motion-ease)}.navbar__links a:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--rose);content:"";transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast) var(--motion-ease)}.navbar__links a:hover,.navbar__links a:focus-visible,.navbar__links a[aria-current=location]{color:var(--text)}.navbar__links a:hover:after,.navbar__links a:focus-visible:after,.navbar__links a[aria-current=location]:after{transform:scaleX(1)}.theme-toggle{display:inline-flex;min-height:44px;align-items:center;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--text-soft);cursor:pointer;font-size:.78rem;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.theme-toggle:hover,.theme-toggle:focus-visible{border-bottom-color:var(--rose);color:var(--rose)}.navbar__toggle{display:none;min-width:56px;min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--text);cursor:pointer;font-size:.78rem}.navbar__toggle:hover{color:var(--rose)}.hero{position:relative;min-height:min(100svh,900px);overflow:hidden;isolation:isolate;background:var(--page);transition:background-color var(--motion-fast) var(--motion-ease)}.hero__flower{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;overflow:hidden}.hero:after{position:absolute;top:48%;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--page) 74%,transparent) 78%,var(--page));content:"";pointer-events:none}.hero__ascii,.hero__ascii__canvas,.ascii-flower-fallback{display:block;width:100%;height:100%;min-height:min(100svh,900px);background:var(--page);transition:background-color var(--motion-fast) var(--motion-ease),filter var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease)}.hero__ascii__canvas{object-fit:cover;object-position:center;opacity:.92;filter:saturate(1.7) hue-rotate(-12deg) brightness(.9) contrast(1.08)}.ascii-flower-fallback{object-fit:cover;object-position:center;opacity:.39}:root[data-theme=light] .hero__ascii__canvas{opacity:.72;filter:saturate(1.35) hue-rotate(-8deg) brightness(.78) contrast(1.2);mix-blend-mode:multiply}:root[data-theme=light] .ascii-flower-fallback{opacity:.3;filter:saturate(.85) contrast(1.08);mix-blend-mode:multiply}.hero__content{--hero-meta-size: clamp(1rem, 1.5vw, 1.2rem);position:relative;z-index:1;display:flex;min-height:min(100svh,900px);flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-block:104px 36px;pointer-events:none}.hero__identity{width:min(100%,760px)}.hero__identity h1,.hero__identity p{width:fit-content}.hero__identity h1,.hero__identity p,.hero__links a,.hero__scroll{pointer-events:auto}.hero__prompt{margin:0 0 12px;color:var(--text-soft);font-size:.8rem;font-weight:500;text-shadow:0 1px 3px var(--page),0 0 12px var(--page)}.hero__prompt span{color:var(--rose)}.hero__content h1{margin:0;font-size:clamp(2rem,3.2vw,3rem);font-weight:600;letter-spacing:-.045em;line-height:1.1}.hero__school,.hero__interests{margin:0}.hero__status-typewriter{min-width:30ch}.hero__school{margin-top:18px;color:var(--text);font-size:var(--hero-meta-size);font-weight:500}.hero__interests{margin-top:6px;color:var(--text-soft);font-size:var(--hero-meta-size)}.hero__links{display:flex;width:100%;flex-wrap:wrap;gap:12px 28px;margin-top:18px}.hero__links a{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid transparent;color:var(--text);font-size:.78rem;text-decoration:none;transition:border-color .16s ease,color .16s ease}.hero__links a:hover{border-bottom-color:var(--rose);color:var(--text)}.hero__scroll{display:inline-flex;min-height:44px;align-items:center;gap:10px;margin-top:12px;color:var(--text-dim);font-size:.75rem;text-decoration:none;transition:color var(--motion-fast) var(--motion-ease)}.hero__scroll>span:first-child:before{content:"[ ";color:var(--rose)}.hero__scroll>span:first-child:after{content:" ]";color:var(--rose)}.hero__scroll:hover,.hero__scroll:focus-visible{color:var(--text)}.hero__scroll-arrow{color:var(--rose);transition:transform var(--motion-fast) var(--motion-ease)}.hero__scroll:hover .hero__scroll-arrow,.hero__scroll:focus-visible .hero__scroll-arrow{transform:translateY(3px)}.about{display:grid;grid-template-areas:"portrait copy";grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:clamp(36px,6vw,72px);align-items:start}.about__copy{grid-area:copy;padding-top:4px}.about__command{margin-bottom:24px}.about__intro{max-width:58ch;margin:0;color:var(--text-soft);font-size:clamp(.94rem,1.4vw,1rem);line-height:1.85}.about__portrait{width:min(100%,380px);grid-area:portrait;margin:0}.about__portrait-frame{position:relative;overflow:hidden;aspect-ratio:4 / 5;border:1px solid var(--line);background:var(--surface)}.about__portrait-frame:before,.about__portrait-frame:after{position:absolute;z-index:2;width:24px;height:24px;content:"";opacity:0;pointer-events:none}.about.is-visible .about__portrait-frame:before,.about.is-visible .about__portrait-frame:after{animation:terminal-corner-in .22s var(--motion-ease) calc(var(--print-delay) + .46s) both}@keyframes terminal-corner-in{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.about__portrait-frame:before{top:10px;left:10px;border-top:1px solid var(--rose);border-left:1px solid var(--rose)}.about__portrait-frame:after{right:10px;bottom:10px;border-right:1px solid var(--rose);border-bottom:1px solid var(--rose)}.about__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}.about__portrait figcaption{margin-top:10px;color:var(--text-dim);font-size:.72rem}:root[data-theme=light] .about__portrait img{filter:saturate(.78) contrast(1.01) brightness(1.03)}.fact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:40px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fact-list div{min-width:0;padding:16px clamp(12px,2vw,20px);border-right:1px solid var(--line)}.fact-list div:first-child{padding-left:0}.fact-list div:last-child{padding-right:0;border-right:0}.fact-list dt{color:var(--rose);font-size:.75rem}.fact-list dd{margin:8px 0 0;color:var(--text-soft);font-size:.94rem;line-height:1.7}.timeline,.timeline__entries{position:relative}.timeline__entries:before{position:absolute;top:12px;bottom:12px;left:7px;width:1px;background:var(--line);content:"";transform:scaleY(0);transform-origin:top}.timeline.is-visible .timeline__entries:before{animation:terminal-timeline-draw .52s var(--motion-ease) var(--print-delay) both}@keyframes terminal-timeline-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.timeline__item{position:relative;display:grid;grid-template-columns:minmax(170px,.3fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);padding:30px 0 30px 40px;border-bottom:1px solid var(--line)}.timeline__item:before{position:absolute;top:36px;left:2px;width:11px;height:11px;border:2px solid var(--page);border-radius:50%;background:var(--rose);box-shadow:0 0 0 1px var(--rose);content:""}.timeline__item:last-child{border-bottom:0}.timeline__date{margin:3px 0 0;color:var(--text-dim);font-size:.75rem}.timeline__content h3,.project-entry__title{display:block;margin:0;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:500;letter-spacing:-.025em;line-height:1.3}.timeline__content h3:before{color:var(--rose);content:"> "}.timeline__title-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.timeline__status{padding:2px 7px;border:1px solid color-mix(in srgb,var(--rose) 58%,transparent);color:var(--rose);font-size:.68rem;line-height:1.4}.timeline__org{margin:10px 0 0;color:var(--rose);font-size:.85rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px}.tag-list span{color:var(--text-dim);font-size:.75rem}.tag-list span:before{color:var(--rose);content:"["}.tag-list span:after{color:var(--rose);content:"]"}.projects-directory{border-top:1px solid var(--line)}.projects-directory__list{margin:0;padding:0;list-style:none}.projects-directory__list>li{border-bottom:1px solid var(--line)}.projects-directory__list>li:last-child{border-bottom:1px solid var(--line)}.project-entry__summary{display:grid;width:100%;min-height:74px;grid-template-columns:48px minmax(0,1fr) minmax(160px,.45fr) 24px;gap:16px;align-items:center;padding:14px clamp(18px,3vw,36px);border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background-color var(--motion-fast) var(--motion-ease)}.project-entry__summary:focus-visible{outline:2px solid var(--rose);outline-offset:-3px}.project-entry__index,.project-entry__category{color:var(--text-dim);font-size:.75rem}.project-entry__index,.project-entry__title{transition:color var(--motion-fast) var(--motion-ease)}.project-entry__title{color:var(--text)}.project-entry__category{text-align:right}.project-entry__toggle{position:relative;width:16px;height:20px;justify-self:end;color:var(--rose)}.project-entry__toggle:before,.project-entry__toggle:after{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transition:opacity var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.project-entry__toggle:before{content:"+"}.project-entry__toggle:after{content:"−";opacity:0;transform:rotate(-90deg)}.project-entry.is-open .project-entry__toggle:before{opacity:0;transform:rotate(90deg)}.project-entry.is-open .project-entry__toggle:after{opacity:1;transform:rotate(0)}.project-entry{transition:background-color var(--motion-fast) var(--motion-ease)}.project-entry:hover,.project-entry.is-open{background:var(--surface)}.project-entry:hover .project-entry__index{color:var(--rose)}.project-entry__panel{display:grid;visibility:hidden;grid-template-rows:0fr;opacity:0;transform:translateY(-4px);transition:grid-template-rows var(--motion-standard) var(--motion-ease),opacity var(--motion-standard) var(--motion-ease),transform var(--motion-standard) var(--motion-ease),visibility 0s linear var(--motion-standard)}.project-entry.is-open .project-entry__panel{visibility:visible;grid-template-rows:1fr;opacity:1;transform:translateY(0);transition-delay:0s}.project-entry__panel-inner{min-height:0;overflow:hidden}.project-entry__output{padding:0 clamp(18px,3vw,36px) 34px calc(clamp(18px,3vw,36px) + 64px)}.project-entry__status{margin:0 0 12px;color:var(--rose);font-size:.75rem}.project-entry__description,.project-entry__contribution{max-width:68ch;margin:0;color:var(--text-soft);font-size:.94rem;line-height:1.75}.project-entry__description{min-height:3.5em}.project-entry__description>span:first-child{color:var(--rose)}.project-entry__typewriter{display:inline;color:var(--text-soft)}.project-entry.is-open .project-entry__status{animation:project-output-in .22s steps(5,end) 60ms both}.project-entry__contribution{margin-top:14px;color:var(--text-dim)}.project-entry.is-open .project-entry__contribution{animation:project-output-in .22s var(--motion-ease) 1.75s both}.project-entry__output .tag-list{margin-top:22px}.project-entry.is-open .project-entry__output .tag-list span{animation:project-output-in .18s var(--motion-ease) both;animation-delay:calc(1.8s + var(--tag-order, 0ms))}.project-entry__actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}.project-entry.is-open .project-entry__actions{animation:project-output-in .22s var(--motion-ease) 2.1s both}.project-entry.is-open.has-animated .project-entry__status,.project-entry.is-open.has-animated .project-entry__contribution,.project-entry.is-open.has-animated .project-entry__output .tag-list span,.project-entry.is-open.has-animated .project-entry__actions{animation:none}@keyframes project-output-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.project-entry__actions a,.contact-terminal a,.footer a{border-bottom:1px solid transparent;color:var(--text-soft);text-decoration:none;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.project-entry__actions a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:.78rem}.project-entry__actions a:hover,.contact-terminal a:hover,.footer a:hover{border-bottom-color:var(--rose);color:var(--text)}.section--contact{padding-bottom:0;background:var(--page)}.contact{padding-bottom:clamp(72px,8vw,96px)}.contact-terminal{width:min(100%,780px);margin-inline:auto;border:1px solid var(--line);background:var(--surface);opacity:0;transform:translateY(8px);transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),opacity .18s var(--motion-ease),transform .18s var(--motion-ease)}.contact-terminal.is-visible{opacity:1;transform:translateY(0)}.contact-terminal__command{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:24px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--raised);color:var(--text-soft);font-size:.75rem;transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}.contact-terminal__command>span:first-child>span,.contact-terminal__location{color:var(--rose)}.contact-terminal__command .terminal-typewriter{min-width:24ch;color:var(--text-soft)}.contact-terminal__location{font-size:.75rem}.contact-session__transcript{min-height:112px;padding:20px clamp(18px,3vw,28px);border-bottom:1px solid var(--line)}.terminal-log__visual{display:grid;min-height:72px;align-content:center}.terminal-log__line{margin:0;color:var(--text-soft);font-size:clamp(.8rem,1.3vw,.9rem);line-height:1.55;white-space:nowrap;animation:terminal-log-line-in .26s var(--motion-ease) both}@keyframes terminal-log-line-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes terminal-cursor{0%,49%{opacity:1}50%,to{opacity:0}}.terminal-log__line>span:first-child{color:var(--rose)}.contact-channels ol{margin:0;padding:0;list-style:none}.contact-channels li{border-bottom:1px solid var(--line);opacity:1;transform:none}.contact-channels li:last-child{border-bottom:0}.contact-channels a{display:grid;min-width:0;min-height:56px;grid-template-columns:48px minmax(110px,.35fr) minmax(0,1fr) 24px;gap:16px;align-items:center;padding:8px clamp(18px,3vw,28px);border-bottom:0;font-size:.8rem;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.contact-channels a:hover,.contact-channels a:focus-visible{background:var(--raised)}.contact-channel__number{color:var(--rose)}.contact-channel__label{color:var(--text)}.contact-channel__detail{min-width:0;overflow-wrap:anywhere;color:var(--text-dim)}.contact-channels .link-arrow{justify-self:end;color:var(--rose)}.link-arrow{display:inline-block;transition:transform var(--motion-fast) var(--motion-ease)}a:hover .link-arrow--out,a:focus-visible .link-arrow--out{transform:translate(2px,-2px)}a:hover .link-arrow--down,a:focus-visible .link-arrow--down{transform:translateY(2px)}a:hover .link-arrow--up,a:focus-visible .link-arrow--up{transform:translateY(-2px)}.footer{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:var(--text-dim);font-size:.75rem}.footer a{display:inline-flex;align-items:center;gap:7px}@media (max-width: 767px){:root{--gutter: clamp(18px, 5vw, 32px)}.section{padding-block:56px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(1.6rem,7vw,2rem);line-height:1.08}.section-command,.section-command .terminal-typewriter{max-width:100%}.navbar__toggle{display:block;margin-right:-8px}.navbar__links{position:absolute;top:56px;right:0;left:0;display:grid;gap:0;visibility:hidden;max-height:0;overflow-x:hidden;overflow-y:auto;padding:0 var(--gutter);border-bottom:1px solid transparent;background:color-mix(in srgb,var(--page) 97%,transparent);opacity:0;pointer-events:none;transform:translateY(-4px);transition:max-height var(--motion-standard) var(--motion-ease),padding var(--motion-standard) var(--motion-ease),border-color var(--motion-standard) var(--motion-ease),opacity var(--motion-standard) var(--motion-ease),transform var(--motion-standard) var(--motion-ease),visibility 0s linear var(--motion-standard)}.navbar__links.is-open{visibility:visible;max-height:calc(100svh - 56px);padding:10px var(--gutter) max(20px,env(safe-area-inset-bottom));border-bottom-color:var(--line);opacity:1;overscroll-behavior:contain;pointer-events:auto;transform:translateY(0);transition-delay:0s}.navbar__links a{display:flex;min-height:44px;align-items:center}.navbar__theme-toggle{display:flex;width:fit-content}.hero,.hero__ascii,.hero__ascii__canvas,.ascii-flower-fallback,.hero__content{min-height:100svh}.hero__content{--hero-meta-size: clamp(1rem, 4.5vw, 1.2rem);padding-block:72px max(24px,env(safe-area-inset-bottom))}.hero__content h1{font-size:clamp(2rem,9vw,2.75rem)}.hero__identity,.hero__status-typewriter,.hero__interests .terminal-typewriter{max-width:100%;min-width:0}.hero__interests{min-height:1.6em;overflow-wrap:anywhere}.hero__links{width:auto;gap:4px 18px;margin-top:14px}.hero__links a,.hero__scroll{min-height:46px}.about{grid-template-areas:"copy" "portrait";grid-template-columns:1fr;gap:32px}.about__command{margin-bottom:18px}.about__intro{font-size:.95rem;line-height:1.72}.about__portrait{width:min(100%,340px);margin-inline:auto}.fact-list{grid-template-columns:1fr;margin-top:30px}.fact-list div,.fact-list div:first-child,.fact-list div:last-child{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.fact-list div:last-child{border-bottom:0}.timeline__item{grid-template-columns:1fr;gap:10px;padding:26px 0 26px 30px}.timeline__entries:before{left:5px}.timeline__item:before{top:32px;left:0}.timeline__content h3,.project-entry__title{font-size:clamp(1.08rem,5vw,1.3rem)}.timeline__title-row{gap:8px 10px}.timeline__status{font-size:.64rem}.tag-list{gap:7px 14px;margin-top:18px}.project-entry__summary{min-height:84px;grid-template-columns:28px minmax(0,1fr) 24px;gap:6px 10px;padding:14px 10px}.project-entry__category{grid-column:2;text-align:left}.project-entry__toggle{grid-column:3;grid-row:1 / span 2}.project-entry__output{padding:0 10px 28px 48px}.project-entry__status{overflow-wrap:anywhere;line-height:1.55}.project-entry__description,.project-entry__contribution{font-size:.9rem;line-height:1.68}.project-entry:hover:not(.is-open){background:transparent}.contact-channels a{min-height:68px;grid-template-columns:32px minmax(0,1fr) 24px;gap:4px 12px}.contact-terminal__command .terminal-typewriter{max-width:100%;min-width:0}.contact-session__transcript{min-height:128px;padding-inline:16px}.contact-channel__detail{grid-column:2}.contact-channels .link-arrow{grid-column:3;grid-row:1 / span 2}.terminal-log__line{white-space:normal}.footer{min-height:0;padding-block:24px}}@media (max-width: 430px){.hero__ascii{position:absolute;top:0;left:-15%;width:130%;height:73vw;min-height:0}.section-heading{grid-template-columns:32px 1fr;gap:12px}.contact-terminal__command{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 14px}.contact-terminal__location{padding-left:1.35em}.contact-channels a{padding-inline:14px}.footer{flex-wrap:wrap;gap:8px 20px}}
