:root{--fore:#1a1a1a;--back:#f5f5f5}@font-face{font-family:Noto Emoji Local;src:url(/fonts/Inter,Noto_Emoji/Noto_Emoji/static/NotoEmoji-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}html.dark-mode{--fore:#f5f5f5;--back:#1a1a1a}html.dark-mode .bones{--fore:#1014ff;--back:#fff;background-color:#1a1a1a;-webkit-text-stroke:1px #8587ff}html.dark-mode .bones a:after,html.dark-mode .bones a:hover:after{border:1px solid #8587ff}html.dark-mode .bones .grid-col{border-left:1px solid #8587ff;border-right:1px solid #8587ff}html.reduce-motion *{animation:none!important;transition:none!important}html.reduce-motion .bones{display:none!important}*{font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500}body,html{background-color:var(--fore)}body{margin:0}a{color:inherit;text-decoration:none;-webkit-text-stroke:inherit;text-stroke:1px inherit;transition:all .1s linear;position:relative}.emoji{display:none;align-items:center;font-family:Noto Emoji Local,Noto Emoji,Twemoji Mozilla,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif;font-weight:400;font-variant-emoji:text;font-size:.85em;line-height:1}.emoji--visible{display:inline-flex}dl,h1,h2,p,ul{margin:var(--gap) 0}ul{list-style-type:none;padding-left:0}section{margin-bottom:1em}.afterhours{ul{li{display:inline;&:not(:last-child):after{content:", "}}}}.bones,.real{--gap:0.5rem;position:absolute;top:0;display:grid;grid-template-columns:repeat(12,1fr);min-height:100vh;grid-gap:var(--gap);gap:var(--gap);>main{display:grid;grid-template-columns:subgrid;grid-column:1/-1;padding:0 var(--gap)}}@media (min-width:50em){main>section{display:grid;grid-template-columns:subgrid;grid-column:1/-1;h1,h2{grid-column:span 2;grid-row:1/3}dl{display:grid;grid-template-columns:subgrid;grid-column:span 6;grid-row:2/3;div{display:grid;grid-template-columns:subgrid;grid-template-rows:auto;grid-column:span 6;margin-bottom:1em;dt{grid-column:1/5}dd{grid-column:2/span 4;margin:0}}}&.intro>div,ul{grid-column:3/span 4;grid-row:1/3}}}@media (max-width:50em){.bones,.real{grid-template-columns:repeat(6,1fr)}main>section{display:grid;grid-template-columns:subgrid;grid-column:1/-1;h1,h2{grid-column:1/-1;grid-row:span 1}dl{display:grid;grid-template-columns:subgrid;grid-column:1/-1;div{display:grid;grid-template-columns:subgrid;grid-template-rows:auto;grid-column:1/-1;margin-bottom:1em;dt{grid-column:1/-1}dd{margin:0;grid-column:2/-1}}}&.intro>div{grid-column:1/-1}&.intro>div,ul{grid-row:span 1}ul{grid-column:2/-1}}}.bones{--fore:#fff;--back:#1014ff;color:transparent;background-color:#fff;-webkit-text-stroke:1px var(--back);-webkit-clip-path:circle(0 at 50% 50%);clip-path:circle(0 at 50% 50%);a{&:after{content:" ";background-color:transparent;border:1px solid var(--back);position:absolute;height:100%;width:100%;left:0;bottom:0;transition:height .2s linear;pointer-events:none}&:hover{box-shadow:none;&:after{content:" ";border:1px solid var(--back);position:absolute;height:.1em}}}main{grid-column:1/-1;grid-row:1/-1}.grid-display{pointer-events:none;display:grid;grid-template-columns:subgrid;grid-template-rows:1fr;grid-column:1/-1;grid-row:1/-1;width:calc(100vw - (var(--gap) * 2));height:100vh;background-color:transparent;margin:auto;grid-gap:var(--gap);gap:var(--gap);--animation-dur:1s;min-height:100vh;height:100%;padding:0 var(--gap);transition:transform var(--animation-dur) 0s,top var(--animation-dur) 0s,gap var(--animation-dur) 0s;opacity:.4;.grid-col{border-left:1px solid var(--back);border-right:1px solid var(--back)}}}.real{background-color:var(--fore);color:var(--back);a:hover{box-shadow:none}a:after{width:100%;left:0;bottom:0;transition:width .2s linear}a:after,a:hover:after{content:" ";background-color:var(--back);position:absolute;height:.1em}a:hover:after{width:0;right:0;left:auto}}footer{position:fixed;bottom:var(--gap);right:var(--gap);z-index:100}footer ul{margin:0}footer li{display:inline}::selection{background-color:var(--back);-webkit-text-stroke:1px var(--fore);color:var(--fore)}.cv-index{--gap:0.5rem;display:grid;grid-template-columns:repeat(12,1fr);min-height:100vh;grid-gap:var(--gap);gap:var(--gap);padding:var(--gap);background-color:var(--fore);color:var(--back)}.cv-index>section{display:grid;grid-template-columns:subgrid;grid-column:1/-1;margin-bottom:.5em}.cv-index h1{grid-column:span 2}.cv-index .paragraph{grid-column:3/span 4}.cv-index .format-row h2{grid-column:span 2}.cv-index .format-row ul{grid-column:3/span 4;display:flex;gap:1em}.cv-index .format-row ul li{display:inline}.cv-index .format-row ul li:not(:last-child):after{content:" / ";margin-left:1em}.cv-index .format-row:last-child{margin-top:4em;padding-top:2em;border-top:1px solid var(--back)}.cv-index a{position:relative}.cv-index a:after{content:" ";background-color:var(--back);position:absolute;height:.1em;width:100%;left:0;bottom:0;transition:width .2s linear}.cv-index a:hover:after{width:0;right:0;left:auto}.cv-index a.unstyled-link{position:static}.cv-index a.unstyled-link:after{display:none}@media (max-width:50em){.cv-index{grid-template-columns:repeat(6,1fr)}.cv-index h1,.cv-index h2{grid-column:1/-1;grid-row:auto}.cv-index .paragraph{grid-column:1/-1}.cv-index .format-row ul{grid-column:2/-1;grid-row:auto}}.colophon{--gap:0.5rem;display:grid;grid-template-columns:repeat(12,1fr);min-height:100vh;grid-gap:var(--gap);gap:var(--gap);padding:var(--gap);background-color:var(--fore);color:var(--back)}.colophon>section{display:grid;grid-template-columns:subgrid;grid-column:1/-1;margin-bottom:.5em}.colophon h1{grid-column:span 2}.colophon .paragraph{grid-column:3/span 4}.colophon-section h2{grid-column:span 2}.colophon-section ul{grid-column:3/span 4}.colophon-section ul li{list-style-type:none}.colophon-section:last-child{margin-top:4em;padding-top:2em;border-top:1px solid var(--back)}.colophon a{position:relative}.colophon a:after{content:" ";background-color:var(--back);position:absolute;height:.1em;width:100%;left:0;bottom:0;transition:width .2s linear}.colophon a:hover:after{width:0;right:0;left:auto}@media (max-width:50em){.colophon{grid-template-columns:repeat(6,1fr)}.colophon h1,.colophon h2{grid-column:1/-1}.colophon .paragraph,.colophon ul{grid-column:2/-1}}.AccessibilitySettings_container__Ji28a{position:fixed;bottom:1rem;right:1rem;z-index:1000}.AccessibilitySettings_toggleButton__hXMxG{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:2px solid var(--back);background-color:var(--fore);color:var(--back);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;padding:0;font-size:1.5rem;font-weight:400;letter-spacing:normal}.AccessibilitySettings_toggleButton__hXMxG:hover{transform:scale(1.05)}.AccessibilitySettings_toggleButton__hXMxG:focus{outline:2px solid var(--back);outline-offset:2px}.AccessibilitySettings_panel__B0Uet{position:absolute;bottom:68px;right:0;background-color:var(--fore);border:2px solid var(--back);border-radius:4px;padding:1rem;min-width:180px;box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:clamp(.55rem,.8vw,.8rem);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.AccessibilitySettings_panel__B0Uet *,.AccessibilitySettings_panel__B0Uet :after,.AccessibilitySettings_panel__B0Uet :before{font-size:inherit;font-weight:inherit}.AccessibilitySettings_title__n_gVr{margin:0 0 .5rem;font-size:clamp(.65rem,1vw,.9rem);font-weight:500;color:var(--back)}.AccessibilitySettings_setting__sJAof{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;cursor:pointer;font-size:clamp(.55rem,.9vw,.8rem);font-weight:500;color:var(--back)}.AccessibilitySettings_setting__sJAof input[type=checkbox]{width:14px;height:14px;cursor:pointer;margin:0}.AccessibilitySettings_setting__sJAof span{-webkit-user-select:none;-moz-user-select:none;user-select:none}