:root{--pond: #8b9eb5;--lily: #d4a5b0;--bg-wash: rgba(14, 18, 28, .58);--text: #f2f4f7;--body: #c2ccd6;--muted: #9aacba;--hi: rgba(139, 158, 181, .32);--hi-hover: rgba(139, 158, 181, .48);--line: rgba(139, 158, 181, .22);--node: #6b8094;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Lora", Georgia, serif;--pad: clamp(24px, 5vw, 48px);--max: min(68ch, calc(100vw - 2 * var(--pad)))}html{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;color:var(--body);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.7;letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bgArt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.bgLight{position:absolute;inset:0;background:radial-gradient(var(--light-size, 280px) circle at var(--lx, 50%) var(--ly, 50%),var(--light-core, rgba(180, 210, 240, .14)) 0%,var(--light-mid, rgba(139, 158, 181, .06)) 40%,transparent 72%);mix-blend-mode:plus-lighter;pointer-events:none;opacity:0;transition:opacity .45s ease}.bg.light-on .bgLight{opacity:1}.bgWash{position:absolute;inset:0;background:var(--bg-wash)}.bgTap{position:fixed;inset:0;z-index:0;margin:0;padding:0;border:0;background:transparent;cursor:default}::selection{background:var(--lily);color:var(--text)}::-moz-selection{background:var(--lily);color:var(--text)}.page{position:relative;z-index:1;height:100%;max-width:var(--max);width:100%;margin:0 auto;padding:var(--pad);display:flex;flex-direction:column;justify-content:center;text-align:left;overflow:hidden;pointer-events:none}.page *{pointer-events:auto}.page details{pointer-events:none}h1,h2,h3{font:inherit;margin:0}p{margin:0 0 .85em}p:last-child{margin-bottom:0}ul{margin:0;padding-left:0;list-style:none}li{margin:0 0 .35em}li:last-child{margin-bottom:0}a{color:var(--text);text-decoration:none;background:var(--hi);padding:.06em .22em;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background .2s ease}a:hover{background:var(--hi-hover);color:var(--text)}a:focus-visible{outline:2px solid var(--pond);outline-offset:2px}.name{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.75rem);font-weight:600;font-style:italic;color:var(--text);letter-spacing:-.01em;line-height:1.15}.bg.light-on~.page .name:hover{background-image:linear-gradient(100deg,var(--text) 0%,var(--text) 35%,#b8889a 44%,var(--lily) 50%,#f2cdd8 56%,#c997a9 62%,var(--text) 72%,var(--text) 100%);background-size:220% 100%;background-position:100% center;-webkit-background-clip:text;background-clip:text;color:transparent;animation:namePinkFlow 2.6s linear infinite}@keyframes namePinkFlow{0%{background-position:120% center}to{background-position:-20% center}}.tagline{margin-top:.4em;margin-bottom:0;color:var(--body);font-weight:400;font-size:.95em}.tagline a{color:inherit}.resumeLink{font:inherit;font-weight:400;color:var(--text);background:var(--hi);border:0;border-radius:3px;padding:.06em .22em;margin:0;cursor:pointer;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background .2s ease}.resumeLink:hover{background:var(--hi-hover)}.resumeLink:focus-visible{outline:2px solid var(--pond);outline-offset:2px}.resumeDialog{width:min(900px,92vw);height:min(80vh,720px);padding:0;border:1px solid var(--line);border-radius:10px;background:#161c28;color:var(--text);box-shadow:0 16px 48px #00000059}.resumeDialog::backdrop{background:#00000073;backdrop-filter:blur(3px)}.resumeDialogHeader{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px 10px;border-bottom:1px solid var(--line)}.resumeDialogTitle{font-family:var(--font-display);color:var(--muted);font-size:1.05em;font-style:italic}.resumeDialogClose{font:inherit;color:var(--muted);background:transparent;border:0;border-radius:4px;padding:.08em .2em;margin:0;cursor:pointer;transition:color .2s,background .2s}.resumeDialogClose:hover{color:var(--text);background:var(--hi)}.resumeDialogClose:focus-visible{outline:2px solid var(--pond);outline-offset:2px}.resumeDialogBody{height:calc(100% - 44px);padding:0}.resumeFrame{width:100%;height:100%;border:0;border-radius:0 0 10px 10px}.resumeFallback{display:block;margin:0;padding:12px 18px;color:var(--muted);border-top:1px solid var(--line);font-size:.9em}.resumeFallback a{background:var(--hi);color:var(--text)}.section{margin-top:.75em}.sectionTitle{display:inline-block;font-family:var(--font-display);font-size:1.22em;font-weight:600;color:var(--text);margin:0;cursor:pointer;user-select:none;text-decoration:none;letter-spacing:.02em;transition:opacity .2s}.sectionTitle:hover{opacity:.75}summary.sectionTitle{list-style:none}summary.sectionTitle::-webkit-details-marker{display:none}.section[open]>.sectionTitle{margin-bottom:.45em}.footerLinks{margin-top:2em;line-height:1.7;letter-spacing:0;font-size:.95em}.footerLinks a{padding:.06em .12em .06em .18em}.footerLinks .footerSep{margin-left:-.04em}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";position:absolute;left:7px;top:2px;bottom:2px;width:1px;background:var(--line)}.timelineItem{position:relative;margin:0 0 .6em;padding-left:22px}.timelineItem:before{content:"";position:absolute;left:4px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--pond);border:1px solid var(--node);opacity:.85}.timelineItem:last-child{margin-bottom:0}.timelineRow{display:flex;gap:12px;align-items:flex-start}.timelineDate{display:flex;flex-direction:column;color:var(--muted);flex:0 0 auto;min-width:4.5ch;font-size:.85em;font-style:italic;line-height:1.25}.timelineDateYear{font-style:normal;opacity:.85}.timelineContent{flex:1 1 auto;min-width:0}@media(max-width:768px),(max-height:740px){html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.page{height:auto;min-height:100svh;justify-content:flex-start;padding-top:clamp(36px,10vh,72px);padding-bottom:clamp(36px,10vh,72px);overflow:visible}}@media(max-height:640px){body{font-size:13px;line-height:1.6}.name{font-size:1.75rem}.section{margin-top:.5em}.footerLinks{margin-top:1.35em}}@media(prefers-reduced-motion:reduce){a,.resumeLink,.sectionTitle{transition:none}.bg.light-on~.page .name:hover{animation:none;background-position:50% center}}
