:root{color-scheme:light;--bg:#e7e3da;--fg:#1b1a17;--dim:#6a655b;--line:#dcd6c8;--field:#a8a191;--error:#9a3b2a;--glass-fill:#e7e3da33;--glass-line:#dcd6c8;--ink:0 0 .6px #1b1a178c;--field-blend:multiply}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0d0d0d;--fg:#ededed;--dim:#8f8f8f;--line:#1f1f1f;--field:#5a5a5a;--error:#ff8a75;--glass-fill:#0d0d0d33;--glass-line:#1f1f1f;--ink:0 0 12px #dcffe659;--field-blend:normal}}:root[data-theme=dark]{color-scheme:dark;--bg:#0d0d0d;--fg:#ededed;--dim:#8f8f8f;--line:#1f1f1f;--field:#5a5a5a;--error:#ff8a75;--glass-fill:#0d0d0d33;--glass-line:#1f1f1f;--ink:0 0 12px #dcffe659;--field-blend:normal}:root{--accent:light-dark(#017037,#5fd787);--spectrum-swatch:linear-gradient(135deg, light-dark(#bf1b2b,#ff5f5f), light-dark(#8f5304,#ffaf5f), light-dark(#775e04,#ffd75f), light-dark(#017037,#5fd787), light-dark(#066d6d,#5fd7d7), light-dark(#0063ad,#5fafff), light-dark(#7449bb,#af87ff), light-dark(#a53384,#ff87d7))}[data-accent=red]{--accent:light-dark(#bf1b2b,#ff5f5f)}[data-accent=orange]{--accent:light-dark(#8f5304,#ffaf5f)}[data-accent=yellow]{--accent:light-dark(#775e04,#ffd75f)}[data-accent=green]{--accent:light-dark(#017037,#5fd787)}[data-accent=cyan]{--accent:light-dark(#066d6d,#5fd7d7)}[data-accent=blue]{--accent:light-dark(#0063ad,#5fafff)}[data-accent=violet]{--accent:light-dark(#7449bb,#af87ff)}[data-accent=magenta]{--accent:light-dark(#a53384,#ff87d7)}@property --spectrum-paper{syntax:"<color>";inherits:true;initial-value:#bf1b2b}@property --spectrum-crt{syntax:"<color>";inherits:true;initial-value:#ff5f5f}:root[data-accent=spectrum]{--accent:light-dark(var(--spectrum-paper),var(--spectrum-crt));animation:accent-spectrum 30s steps(19, end) var(--spectrum-delay,0s) infinite paused}:root[data-accent=spectrum][data-motion=full]{animation-play-state:running}@keyframes accent-spectrum{0%{--spectrum-paper:#bf1b2b;--spectrum-crt:#ff5f5f}12.5%{--spectrum-paper:#8f5304;--spectrum-crt:#ffaf5f}25%{--spectrum-paper:#775e04;--spectrum-crt:#ffd75f}37.5%{--spectrum-paper:#017037;--spectrum-crt:#5fd787}50%{--spectrum-paper:#066d6d;--spectrum-crt:#5fd7d7}62.5%{--spectrum-paper:#0063ad;--spectrum-crt:#5fafff}75%{--spectrum-paper:#7449bb;--spectrum-crt:#af87ff}87.5%{--spectrum-paper:#a53384;--spectrum-crt:#ff87d7}to{--spectrum-paper:#bf1b2b;--spectrum-crt:#ff5f5f}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}body{font-family:var(--font-text), monospace;background:var(--bg);color:var(--fg);margin:0;overflow-x:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--bleed:0px}.stage{--stage-bleed:var(--bleed);min-height:calc(100svh + var(--stage-bleed));background:var(--bg);padding:max(48px, calc(env(safe-area-inset-top,0px) + 16px)) max(clamp(16px, 5vw, 64px), calc(env(safe-area-inset-right,0px) + 16px)) calc(max(48px, calc(env(safe-area-inset-bottom,0px) + 16px)) + var(--stage-bleed)) max(clamp(16px, 5vw, 64px), calc(env(safe-area-inset-left,0px) + 16px));flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}:where(:root[data-long]) .stage{--stage-bleed:0px;justify-content:flex-start}@media (height>=480px){html:not([data-long]),html:not([data-long]) body{overflow:hidden}:root{--bleed:calc(100lvh - 100svh + 120px)}}.content{z-index:2;position:relative}:root{--field-unit:1%}:root[data-long]{--field-unit:1vw}@property --field-focus-y{syntax:"<number>|<length>";inherits:false;initial-value:.5}@property --field-figure{syntax:"<length>";inherits:false;initial-value:0}.field{--field-x:42;--field-fade:20.3;--field-width:calc(58 + var(--field-fade));--field-fade-bottom:240px;--field-extend:var(--field-fade-bottom);top:0;left:calc(var(--field-x) * var(--field-unit));width:calc(var(--field-width) * var(--field-unit));height:calc(100svh + var(--bleed) + var(--field-extend));z-index:1;white-space:pre;font-family:var(--font-field), monospace;color:var(--field);mix-blend-mode:var(--field-blend);mask-image:linear-gradient(to right, transparent, #000 calc(var(--field-fade) / var(--field-width) * 100%), #000 calc(100% - var(--field-fade) / var(--field-width) * 100%), transparent), linear-gradient(to bottom, #000 calc(100% - var(--field-fade-bottom)), transparent);--field-focus-x:.5;--field-focus-y:calc(50svh + var(--bleed) / 2);margin:0;font-size:11px;line-height:1;position:absolute;overflow:hidden;mask-composite:intersect}@media (prefers-reduced-motion:no-preference){:root[data-routing] .field{transition:color .8s,opacity .8s}}@media (height<=479px) and (width>=641px){.field{--field-fade-bottom:120px;--field-extend:0px}}.name{letter-spacing:-.03em;text-shadow:var(--ink);margin:0;font-size:min(clamp(40px,8vw,88px),20.8333vw - 6.66667px);font-weight:500;line-height:1}.name [data-line]{white-space:pre;display:block}:root[data-motion=full]:not([data-arrival]):not([data-page=resume]):not([data-page=about]):not([data-page=contact]) .name [data-line]:not([data-decoded]){visibility:hidden;animation:0s 2.5s forwards reveal}@keyframes reveal{to{visibility:visible}}.role{color:var(--dim);margin:22px 0 0;font-size:15px}.links{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));max-width:520px;margin-top:44px;display:grid}.links a{border-bottom:1px solid var(--line);color:var(--fg);align-items:baseline;padding:12px 16px 12px 0;font-size:13px;text-decoration:none;display:flex}.links .icon{width:1.7em;font-family:var(--font-icon);color:var(--accent);font-size:1.15em;line-height:1}.links .arrow{color:var(--dim);margin-left:auto;transition:color .2s}.links a:hover .arrow,.links a:focus-visible .arrow{color:var(--fg)}a:focus-visible,button:focus-visible{outline:1px solid var(--fg);outline-offset:3px}.glass{border:1px solid var(--glass-line);background:var(--glass-fill);backdrop-filter:blur(6px);padding:6px 12px}.home-panel{top:calc(env(safe-area-inset-top,0px) + 16px);left:var(--home-x,16px);z-index:3;color:var(--fg);font-size:13px;line-height:18px;text-decoration:none;position:fixed}.home-panel .icon{font-family:var(--font-icon);color:var(--accent);margin-right:.6em;line-height:1}.controls{--controls-top:calc(env(safe-area-inset-top,0px) + 16px);--controls-right:calc(env(safe-area-inset-right,0px) + 16px);--control-square:calc(1lh + 14px);top:var(--controls-top);right:var(--controls-right);z-index:3;gap:6px;display:flex;position:fixed}.field-menu[hidden],.theme-menu[hidden]{display:none}.control-square,.control-panel{font-family:var(--font-text), monospace;font-size:13px;line-height:18px}.control-square{width:var(--control-square);height:var(--control-square);color:var(--fg);cursor:pointer;place-items:center;padding:0;display:grid}.control-panel{inset:auto;top:calc(var(--controls-top) + var(--control-square) + 6px);right:var(--controls-right);color:var(--dim);margin:0;padding:8px}.control-panel:popover-open{display:flex}.field-menu input,.theme-menu input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.field-menu label:has(input:focus-visible),.theme-menu label:has(input:focus-visible){outline:1px solid var(--fg)}.field-menu__button svg{fill:currentColor;width:20px;height:20px}.field-menu__tiles{border:0;grid-template-columns:repeat(3,96px);gap:4px;min-width:0;margin:0;padding:0;display:grid}.field-menu label{cursor:pointer;border:1px solid #0000;flex-direction:column;gap:3px;padding:4px;font-size:11px;display:flex;position:relative}.field-menu label:has(input:checked){border-color:var(--line);color:var(--fg)}.field-menu__preview{white-space:pre;height:48px;font-family:var(--font-field), monospace;color:var(--fg);opacity:.7;margin:0;font-size:6px;line-height:1;overflow:hidden}.theme-menu .icon{font-family:var(--font-icon);line-height:1}.theme-menu__button .icon{font-size:1.15em}.theme-menu__button .icon--moon,:root[data-theme=dark] .theme-menu__button .icon--sun{display:none}:root[data-theme=dark] .theme-menu__button .icon--moon{display:block}.theme-menu fieldset{border:0;min-width:0;margin:0;padding:0}.theme-menu__accents{border-left:1px solid var(--line);grid-template-columns:repeat(3,24px);align-content:start;gap:2px;margin-left:8px;padding-left:8px;display:grid}.theme-menu label{cursor:pointer;position:relative}.theme-menu__themes label{border:1px solid #0000;align-items:center;gap:6px;min-height:24px;padding:0 6px;display:flex}.theme-menu__themes .icon{text-align:center;width:1.2em}.theme-menu__themes label:has(input:checked){border-color:var(--line);color:var(--fg)}.theme-menu__accents label{width:24px;height:24px}.theme-menu .swatch{background:var(--accent);position:absolute;inset:5px}.theme-menu [data-accent=spectrum] .swatch{background:var(--spectrum-swatch)}.theme-menu__accents label:has(input:checked) .swatch{outline:1px solid var(--fg);outline-offset:2px}@media (width<=640px){.field{--field-x:0;--field-width:100;--field-extend:0px;opacity:.45;--field-focus-x:.5;--field-focus-y:.3;mask-image:linear-gradient(#000,#0000 70%)}.links{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.field{view-transition-name:field}.name{view-transition-name:name;width:fit-content}.links{view-transition-name:links}.about-body{view-transition-name:about-body}.contact-body{view-transition-name:contact-body}.role{view-transition-name:role}.resume-column{view-transition-name:resume-body}.home-panel{view-transition-name:home-panel}::view-transition-group(*){animation-duration:.8s;animation-timing-function:cubic-bezier(.65,0,.25,1)}::view-transition-old(field){opacity:1;animation:none}::view-transition-new(field){opacity:0;animation:none}::view-transition-old(links),::view-transition-old(role),::view-transition-old(about-body),::view-transition-old(contact-body){animation:.32s both vt-fade-out}::view-transition-new(links),::view-transition-new(role),::view-transition-new(about-body),::view-transition-new(contact-body){animation:.32s .48s both vt-fade-in}::view-transition-new(resume-body),::view-transition-new(home-panel){animation:.52s cubic-bezier(.65,0,.25,1) .44s both vt-slide-in}::view-transition-old(resume-body),::view-transition-old(home-panel){animation:.36s cubic-bezier(.65,0,.25,1) both vt-slide-out}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-slide-in{0%{opacity:0;transform:translate(60px)}}@keyframes vt-slide-out{to{opacity:0;transform:translate(60px)}}[data-swap] h1[tabindex="-1"]:focus{outline:none}
