@font-face{font-family:Manrope;src:url(/assets/Manrope-latin-rNOCJiQw.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:optional;unicode-range:U+0020-007E,U+00A0,U+2013-2014,U+2018-201F,U+2022,U+2026,U+20AC,U+2122,U+2212}@font-face{font-family:JetBrainsMono;src:url(/assets/JetBrainsMono-DozFE8E7.woff2) format("woff2");font-weight:400;font-style:normal;font-display:optional;unicode-range:U+0020-007E,U+00A0,U+2013-2014,U+2018-201F,U+2022,U+2026,U+20AC,U+2122,U+2212}@font-face{font-family:Grid Manrope Section;src:url(/assets/Manrope-latin-rNOCJiQw.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:optional;ascent-override:80%;descent-override:20%;line-gap-override:0%;unicode-range:U+0020-007E,U+00A0,U+2013-2014,U+2018-201F,U+2022,U+2026,U+20AC,U+2122,U+2212}@font-face{font-family:Grid Sans Section;src:local("PingFangSC-Regular"),local("Microsoft YaHei"),local("NotoSansCJKsc-Regular"),local("Arial");font-weight:400;font-style:normal;font-display:optional;ascent-override:80%;descent-override:20%;line-gap-override:0%}@font-face{font-family:Grid Sans Section;src:local("PingFangSC-Medium"),local("Microsoft YaHei"),local("NotoSansCJKsc-Medium"),local("Arial");font-weight:500;font-style:normal;font-display:optional;ascent-override:80%;descent-override:20%;line-gap-override:0%}@font-face{font-family:Grid Sans Section;src:local("PingFangSC-Semibold"),local("Microsoft YaHei Bold"),local("NotoSansCJKsc-Bold"),local("Arial Bold");font-weight:600 700;font-style:normal;font-display:optional;ascent-override:80%;descent-override:20%;line-gap-override:0%}@font-face{font-family:Grid Manrope Paper;src:url(/assets/Manrope-latin-rNOCJiQw.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:optional;ascent-override:100%;descent-override:25%;line-gap-override:0%;unicode-range:U+0020-007E,U+00A0,U+2013-2014,U+2018-201F,U+2022,U+2026,U+20AC,U+2122,U+2212}@font-face{font-family:Grid Sans Paper;src:local("PingFangSC-Regular"),local("Microsoft YaHei"),local("NotoSansCJKsc-Regular"),local("Arial");font-weight:400;font-style:normal;font-display:optional;ascent-override:100%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Grid Sans Paper;src:local("PingFangSC-Medium"),local("Microsoft YaHei"),local("NotoSansCJKsc-Medium"),local("Arial");font-weight:500;font-style:normal;font-display:optional;ascent-override:100%;descent-override:25%;line-gap-override:0%}@font-face{font-family:Grid Sans Paper;src:local("PingFangSC-Semibold"),local("Microsoft YaHei Bold"),local("NotoSansCJKsc-Bold"),local("Arial Bold");font-weight:600 700;font-style:normal;font-display:optional;ascent-override:100%;descent-override:25%;line-gap-override:0%}:root{--grid-unit: 20px;--layout-unit: var(--grid-unit);--frame-inner: inset 1px 1px 0 0;--frame-outer: .5px .5px 0 .5px;--line-bottom: 0 1px;--line-right: 1px 0;--grid-edge-extension: 1px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-inline: max(env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--content-inner-max-width: 1120px;--content-max-width: calc(var(--content-inner-max-width) + var(--grid-unit) * 2);--content-width: min(var(--content-max-width), calc(100vw - var(--safe-area-inline) * 2));--content-offset: calc((100vw - var(--content-width)) / 2);--brand-color: #32f08c;--brand-hover: #0fdc78;--on-primary: #0a0b0d;--button-shadow-color: #0a0b0d;--background-color: #fff;--text-color: #1a1a1a;--primary-color: #32f08c;--secondary-color: #5b6066;--border-color: rgba(0, 0, 0, .18);--grid-color: rgba(0, 0, 0, .06);color-scheme:light}@supports (width: round(down,100vw,20px)){:root{--safe-area-top: round(up, env(safe-area-inset-top, 0px), var(--grid-unit));--grid-viewport-width: round(down, 100vw, var(--grid-unit));--content-offset: max(round(up, var(--safe-area-inline), var(--grid-unit)), round(up, calc((var(--grid-viewport-width) - var(--content-max-width)) / 2), var(--grid-unit)));--content-width: calc(var(--grid-viewport-width) - var(--content-offset) * 2)}}:root.dark{--button-shadow-color: #fff;--background-color: #0a0b0d;--text-color: #f5f9fe;--secondary-color: #a6aab5;--border-color: rgba(255, 255, 255, .18);--grid-color: rgba(255, 255, 255, .06);color-scheme:dark}body{background-color:var(--background-color);color:var(--text-color);transition:background-color .18s ease,color .18s ease}.image-emphasis{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .18s ease,box-shadow .18s ease}.image-emphasis:focus-visible,.image-emphasis[data-touch-active]{outline:none;transform:translate(-3px,-3px);box-shadow:0 0 0 1px var(--primary-color),6px 6px 0 var(--primary-color)}@media (hover: hover){.image-emphasis:hover{transform:translate(-3px,-3px);box-shadow:0 0 0 1px var(--primary-color),6px 6px 0 var(--primary-color)}}:root[data-mode=normal]{--frame-inner: inset 0 0 0 1px;--frame-outer: inset 0 0 0 0;--line-bottom: inset 0 -1px;--line-right: inset -1px 0;--grid-edge-extension: 0px;--content-width: min(var(--content-inner-max-width), calc(100% - 48px - var(--safe-area-inline) * 2));--content-offset: auto;--safe-area-top: env(safe-area-inset-top, 0px);--header-content-height: 64px;--brand-color: #245d88;--brand-hover: #1c4c70;--primary-color: #245d88;--on-primary: #fff;--grid-color: transparent}:root[data-mode=normal].dark{--brand-color: #9cc5e5;--brand-hover: #b5d5ed;--primary-color: #9cc5e5;--on-primary: #0a0b0d}:root[data-mode=normal] .site-grid-header-trail{display:none}:root[data-mode=normal] .grid-snap{width:auto}:root[data-mode=normal] .image-emphasis{transition:none;transform:none!important;box-shadow:none!important}:root[data-mode=normal] .image-emphasis:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}:root[data-mode=normal] a:focus-visible,:root[data-mode=normal] button:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}*{margin:0;padding:0;box-sizing:border-box}html,body{touch-action:pan-x pan-y}html{--heading-font: "Manrope", "PingFang SC", "Microsoft YaHei", sans-serif;--reading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--header-rows: 3;--header-content-height: calc(var(--layout-unit) * var(--header-rows));--header-height: calc(var(--header-content-height) + var(--safe-area-top));scroll-behavior:smooth;scroll-padding-top:var(--header-height);scrollbar-width:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}html::-webkit-scrollbar{display:none}body{min-width:0;font-family:var(--reading-font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--heading-font)}html[data-mode=design] h1,html[data-mode=design] h2,html[data-mode=design] #guestbook-title{font-family:"Grid Manrope Section","Grid Sans Section",var(--heading-font)}html[data-mode=design] #research h3{font-family:"Grid Manrope Paper","Grid Sans Paper",var(--heading-font)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}a[href],a[href] *{-webkit-touch-callout:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary-color);outline-offset:5px}::selection{background:var(--brand-color);color:var(--on-primary)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#app{min-height:100vh}.site-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--background-color);transition:background-color .18s ease;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:var(--grid-unit) var(--grid-unit)}.site-grid-trail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.site-grid-header-trail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.grid-snap{width:calc(var(--grid-unit) * var(--grid-columns));flex-shrink:0}.grid-label-content{display:inline-flex;align-items:center;gap:inherit;width:max-content;flex-shrink:0}.grid-contrast-text *{-webkit-text-fill-color:currentColor}.grid-contrast-text{--grid-text-fill: currentColor;--grid-text-size: auto;--grid-text-position: 0 0;--grid-text-attachment: scroll;background-image:var(--grid-contrast-image, none),linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-origin:border-box;background-clip:text;-webkit-background-clip:text;background-size:var(--grid-text-size, auto);background-position:var(--grid-text-position, 0 0);background-attachment:var(--grid-text-attachment, scroll);-webkit-text-fill-color:var(--grid-text-fill, currentColor)}.site-grid-control-contrast{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;overflow:hidden}.site-grid-control-contrast .grid-control-copy{background:var(--grid-control-background)!important;color:var(--grid-control-color)!important;border-color:var(--grid-control-color)!important;-webkit-text-fill-color:currentColor;pointer-events:none}.site-grid-control-contrast .grid-control-copy *{color:inherit!important;-webkit-text-fill-color:currentColor}.site-grid-control-contrast input::placeholder{color:var(--grid-control-color);opacity:.7}.site-grid-control-contrast svg{position:static;inset:auto}._curtain_1mjog_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;width:100%;height:100%;pointer-events:none;color:#0000000f;transition:color .18s ease}html.dark ._curtain_1mjog_1{color:#ffffff0f}._switching_1mjog_15{pointer-events:auto;touch-action:none}@media (prefers-reduced-motion: no-preference){html.grid-opening-pending #root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;background-color:var(--background-color);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:var(--grid-unit) var(--grid-unit)}}.site-grid-icon-contrast{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;overflow:hidden}.site-grid-icon-contrast svg{position:absolute;left:50%;top:50%}._languageGlyph_15ty9_1{transition:transform .18s ease}._downArrow_15ty9_5{transform:rotate(90deg);width:14px}._upArrow_15ty9_10{transform:rotate(-90deg);width:14px}._header_1sojl_1{position:sticky;top:0;z-index:20;padding-top:var(--safe-area-top);background-color:var(--background-color);box-shadow:var(--line-bottom) var(--border-color);transition:background-color .18s ease,box-shadow .18s ease;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:var(--grid-unit) var(--grid-unit)}._headerInner_1sojl_13{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start;height:var(--header-content-height);padding-inline:var(--content-padding)}._mobileName_1sojl_25{display:none;align-items:center;height:100%;font-family:var(--heading-font);font-size:13px;font-weight:600;line-height:calc(var(--grid-unit) * 1);white-space:nowrap}._navigation_1sojl_36{display:flex;align-items:center;height:100%;gap:calc(var(--grid-unit) * 2);font-family:var(--heading-font)}._navigation_1sojl_36 a{position:relative;display:flex;align-items:center;justify-content:center;width:calc(var(--grid-unit) * var(--grid-columns));height:100%;color:var(--secondary-color);transition:color .18s ease;font-size:13px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap}@media (hover: hover){._navigation_1sojl_36 a:not(:disabled):hover{color:var(--primary-color)}}._navigation_1sojl_36 a:not(:disabled):active,._navigation_1sojl_36 a:not(:disabled)[data-touch-active]{color:var(--primary-color)}._navigation_1sojl_36 a[aria-current]{color:var(--primary-color)}._navigation_1sojl_36 a[aria-current]:after{position:absolute;content:"";bottom:calc(-1 * var(--grid-edge-extension));inset-inline:0;height:2px;background:var(--primary-color);transition:background-color .18s ease}._headerControls_1sojl_77{position:absolute;right:var(--content-padding);top:0;height:100%;display:flex;align-items:center;gap:0}._languageButton_1sojl_87,._themeButton_1sojl_88,._modeButton_1sojl_89{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--grid-unit) * 2);height:calc(var(--grid-unit) * 2);padding:0;border:0;background:transparent;color:var(--text-color);transition:color .18s ease}@media (hover: hover){._languageButton_1sojl_87:not(:disabled):hover,._themeButton_1sojl_88:not(:disabled):hover,._modeButton_1sojl_89:not(:disabled):hover{color:var(--primary-color)}}._languageButton_1sojl_87:focus-visible,._themeButton_1sojl_88:focus-visible,._modeButton_1sojl_89:focus-visible{color:var(--primary-color)}._languageButton_1sojl_87,._themeButton_1sojl_88,._modeButton_1sojl_89{height:calc(var(--grid-unit) * 3);justify-content:flex-end}._languageButton_1sojl_87 svg,._themeButton_1sojl_88 svg,._modeButton_1sojl_89 svg{width:calc(var(--grid-unit) * 1);height:calc(var(--grid-unit) * 1);stroke-width:1.5}@media (max-width: 1000px){._navigation_1sojl_36{gap:calc(var(--grid-unit) * 1)}}@media (max-width: 900px){._navigation_1sojl_36 a{font-size:12px}}@media (max-width: 760px){._headerInner_1sojl_13{justify-content:space-between;gap:calc(var(--grid-unit) * 1);padding-inline:calc(var(--grid-unit) * 1)}._mobileName_1sojl_25{display:flex}._headerControls_1sojl_77{position:static;transform:none;flex-shrink:0}._navigation_1sojl_36{display:none}}html[data-mode=normal] ._headerInner_1sojl_13{padding-inline:0;justify-content:center}html[data-mode=normal] ._navigation_1sojl_36{gap:32px;transform:none}html[data-mode=normal] ._navigation_1sojl_36 a{width:auto;line-height:1.5;justify-content:center}html[data-mode=normal] ._headerControls_1sojl_77{right:0;top:50%;height:auto;transform:translateY(-50%)}html[data-mode=normal] ._languageButton_1sojl_87,html[data-mode=normal] ._themeButton_1sojl_88,html[data-mode=normal] ._modeButton_1sojl_89{height:40px;justify-content:center}@media (max-width: 1000px){html[data-mode=normal] ._headerInner_1sojl_13{justify-content:flex-start}}@media (max-width: 760px){html[data-mode=normal] ._headerInner_1sojl_13{justify-content:space-between}html[data-mode=normal] ._headerControls_1sojl_77{transform:none}html[data-mode=normal] ._languageButton_1sojl_87,html[data-mode=normal] ._themeButton_1sojl_88,html[data-mode=normal] ._modeButton_1sojl_89{width:32px}html[data-mode=normal] ._mobileName_1sojl_25{font-size:14px;line-height:1.5}}._gridBlock_1p1pz_1{min-width:0;min-height:calc(var(--grid-unit) * var(--grid-rows, 0))}._gridContent_1p1pz_6{display:flow-root;min-width:0}._sectionAnchor_1icql_1{display:block;width:fit-content;color:var(--primary-color);transition:color .18s ease;font-size:12px;line-height:calc(var(--grid-unit) * 1)}@media (hover: hover){._sectionAnchor_1icql_1:not(:disabled):hover{box-shadow:0 1px 0 currentColor}}._sectionAnchor_1icql_1:not(:disabled):active,._sectionAnchor_1icql_1:not(:disabled)[data-touch-active]{box-shadow:0 1px 0 currentColor}._sectionHeading_1icql_18{margin-bottom:calc(var(--grid-unit) * 1)}._sectionHeading_1icql_18 h2{margin-top:calc(var(--grid-unit) * 1);font-size:20px;font-weight:600;letter-spacing:-.045em;line-height:calc(var(--grid-unit) * 1)}._sectionDescription_1icql_29{margin-top:calc(var(--grid-unit) * 1);font-size:13px;color:var(--secondary-color);transition:color .18s ease;line-height:calc(var(--grid-unit) * 1)}._headingIcon_1icql_37{display:inline-block;width:calc(var(--grid-unit) * 1);height:calc(var(--grid-unit) * 1);vertical-align:top;font-size:.9em;line-height:calc(var(--grid-unit) * 1);-webkit-user-select:none;user-select:none}._sectionDivider_1icql_47{width:100%;margin-top:calc(var(--grid-unit) * 1);box-shadow:inset 0 1px var(--border-color),var(--line-bottom) var(--border-color);transition:box-shadow .18s ease}._flush_1icql_54{margin-top:0}._dividerInner_1icql_58{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:calc(var(--grid-unit) * 1);height:calc(var(--grid-unit) * 3);padding-inline:var(--content-padding);color:var(--secondary-color);transition:color .18s ease;font-size:11px;line-height:calc(var(--grid-unit) * 1)}._dividerInner_1icql_58>._dividerIdentity_1icql_72,._dividerInner_1icql_58>a{display:flex;align-items:center}._dividerInner_1icql_58>a{justify-self:end;justify-content:flex-end;white-space:nowrap;height:calc(var(--grid-unit) * 3);gap:6px}._dividerInner_1icql_58>a svg{width:calc(var(--grid-unit) * 1);height:calc(var(--grid-unit) * 1)}@media (hover: hover){._dividerInner_1icql_58 a:not(:disabled):hover{color:var(--primary-color)}}._dividerInner_1icql_58 a:not(:disabled):active,._dividerInner_1icql_58 a:not(:disabled)[data-touch-active]{color:var(--primary-color)}._dividerIdentity_1icql_72{font-family:JetBrainsMono,monospace;font-size:10px}._statusSlot_1icql_102{display:grid;place-items:center;flex:0 0 calc(var(--grid-unit) * 1);width:calc(var(--grid-unit) * 1);height:calc(var(--grid-unit) * 1)}._dividerTopic_1icql_110{transform:translate(calc(round(nearest,-50%,var(--grid-unit)) + 50%));letter-spacing:.05em;font-size:10px}._statusDot_1icql_116{display:inline-block;flex-shrink:0;width:6px;height:6px;background:var(--primary-color);transition:background-color .18s ease}._footer_1icql_125{position:relative;z-index:1}._footerBlock_1icql_130{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px)}._footerContent_1icql_135{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--grid-unit) * 1);padding:calc(var(--grid-unit) * 1) var(--content-padding);padding-bottom:calc(calc(var(--grid-unit) * 1) + env(safe-area-inset-bottom,0px));color:var(--secondary-color);transition:color .18s ease;font-size:9px;line-height:calc(var(--grid-unit) * 1)}._footerContent_1icql_135>a:last-child{display:flex;align-items:center;gap:10px}@media (hover: hover){._footerContent_1icql_135>a:not(:disabled):hover{color:var(--primary-color)}}._footerContent_1icql_135>a:not(:disabled):active,._footerContent_1icql_135>a:not(:disabled)[data-touch-active]{color:var(--primary-color)}._footerName_1icql_161{font-size:11px;color:var(--text-color);transition:color .18s ease}@media (max-width: 760px){._dividerInner_1icql_58{grid-template-columns:1fr 1fr;height:calc(var(--grid-unit) * 3);gap:0 calc(var(--grid-unit) * .5);font-size:11px}._dividerTopic_1icql_110{display:none}._footerContent_1icql_135{flex-wrap:wrap;gap:calc(var(--grid-unit) * 1)}}html[data-mode=normal] ._sectionAnchor_1icql_1{line-height:1.5}@media (hover: hover){html[data-mode=normal] ._sectionAnchor_1icql_1:not(:disabled):hover{box-shadow:none;text-decoration:underline;text-underline-offset:4px}}html[data-mode=normal] ._sectionAnchor_1icql_1:not(:disabled):active,html[data-mode=normal] ._sectionAnchor_1icql_1:not(:disabled)[data-touch-active]{box-shadow:none;text-decoration:underline;text-underline-offset:4px}html[data-mode=normal] ._sectionHeading_1icql_18{margin-bottom:20px}html[data-mode=normal] ._sectionHeading_1icql_18 h2{margin-top:12px;font-size:24px;line-height:1.3;letter-spacing:-.03em}html[data-mode=normal] ._sectionDescription_1icql_29{margin-top:8px;line-height:1.65}html[data-mode=normal] ._headingIcon_1icql_37{width:auto;height:auto;line-height:inherit}html[data-mode=normal] ._footerContent_1icql_135{padding:24px 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));gap:16px;line-height:1.6}._hero_13cxj_1{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px)}._heroBody_13cxj_6{padding:calc(var(--grid-unit) * 2) var(--content-padding)}._heroHeading_13cxj_10{display:grid;grid-template-columns:minmax(0,1fr) calc(var(--grid-unit) * 8);align-items:start;gap:calc(var(--grid-unit) * 2)}._heroCopy_13cxj_17{min-width:0;grid-column:1;grid-row:1}._heroTitle_13cxj_23{margin-top:calc(var(--grid-unit) * 1);font-size:20px;font-weight:600;letter-spacing:-.045em;line-height:calc(var(--grid-unit) * 1)}._heroIntroduction_13cxj_31{width:100%;margin:calc(var(--grid-unit) * 1) 0 0;font-family:var(--reading-font);font-size:14px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._heroIntroduction_13cxj_31 strong{color:var(--text-color);font-weight:600;transition:color .18s ease}._heroIntroduction_13cxj_31 a{display:inline-block;vertical-align:top;height:calc(var(--grid-unit) * 1);color:var(--text-color);box-shadow:0 1px 0 var(--primary-color);transition:color .18s ease,box-shadow .18s ease}@media (hover: hover){._heroIntroduction_13cxj_31 a:not(:disabled):hover{color:var(--primary-color)}}._heroIntroduction_13cxj_31 a:not(:disabled):active,._heroIntroduction_13cxj_31 a:not(:disabled)[data-touch-active]{color:var(--primary-color)}._heroIntroduction_13cxj_31 ._undergraduateUniversity_13cxj_61,._heroIntroduction_13cxj_31 ._labLink_13cxj_62{display:inline;vertical-align:baseline;height:auto;box-shadow:none;text-decoration:underline var(--primary-color) 1px;text-decoration-skip-ink:none;text-underline-offset:calc(var(--grid-unit) * .25)}._heroActions_13cxj_72{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--grid-unit) * 1);margin-top:calc(var(--grid-unit) * 1)}._heroActions_13cxj_72>a{font-family:var(--heading-font);font-size:12px;font-weight:500}._primaryButton_13cxj_85{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:calc(var(--grid-unit) * .5);min-width:calc(var(--grid-unit) * 7);height:calc(var(--grid-unit) * 2);padding:0 calc(var(--grid-unit) * .5);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;box-shadow:var(--frame-outer) var(--brand-color);background:var(--brand-color);color:var(--on-primary);font-size:13px;font-weight:700;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._primaryButton_13cxj_85:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}}._primaryButton_13cxj_85:not(:disabled):active,._primaryButton_13cxj_85:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}._primaryButton_13cxj_85:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}html[data-mode=normal] ._primaryButton_13cxj_85:hover,html[data-mode=normal] ._primaryButton_13cxj_85:active,html[data-mode=normal] ._primaryButton_13cxj_85:focus-visible,html[data-mode=normal] ._primaryButton_13cxj_85[data-touch-active]{transform:none;box-shadow:none}._primaryButton_13cxj_85>svg{flex-shrink:0}._githubButton_13cxj_129,._heroEmail_13cxj_130{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:calc(var(--grid-unit) * .5);height:calc(var(--grid-unit) * 2);padding:0 calc(var(--grid-unit) * .5);color:var(--text-color);box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:box-shadow .18s ease;font-size:12px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._githubButton_13cxj_129:not(:disabled):hover,._heroEmail_13cxj_130:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}}._githubButton_13cxj_129:not(:disabled):active,._githubButton_13cxj_129:not(:disabled)[data-touch-active],._heroEmail_13cxj_130:not(:disabled):active,._heroEmail_13cxj_130:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._githubButton_13cxj_129:focus-visible,._heroEmail_13cxj_130:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}html[data-mode=normal] ._githubButton_13cxj_129:hover,html[data-mode=normal] ._githubButton_13cxj_129:active,html[data-mode=normal] ._githubButton_13cxj_129:focus-visible,html[data-mode=normal] ._githubButton_13cxj_129[data-touch-active],html[data-mode=normal] ._heroEmail_13cxj_130:hover,html[data-mode=normal] ._heroEmail_13cxj_130:active,html[data-mode=normal] ._heroEmail_13cxj_130:focus-visible,html[data-mode=normal] ._heroEmail_13cxj_130[data-touch-active]{transform:none;box-shadow:inset 0 0 0 1px var(--border-color)}._githubButton_13cxj_129>svg,._heroEmail_13cxj_130>svg{flex-shrink:0}._githubButton_13cxj_129>svg:first-child,._heroEmail_13cxj_130>svg:first-child{width:16px;height:16px}._githubButton_13cxj_129>svg:last-child,._heroEmail_13cxj_130>svg:last-child{width:12px;height:12px}._githubButton_13cxj_129{min-width:calc(var(--grid-unit) * 6)}._heroEmail_13cxj_130{min-width:calc(var(--grid-unit) * 4)}._heroPortrait_13cxj_197{grid-column:2;grid-row:1;width:calc(var(--grid-unit) * 8);height:calc(var(--grid-unit) * 8);margin:0}._portraitFrame_13cxj_205{position:relative;width:100%;height:100%;aspect-ratio:1}._portraitImage_13cxj_212{display:block;width:calc(100% + var(--grid-edge-extension));height:calc(100% + var(--grid-edge-extension));object-fit:contain}@media (max-width: 760px){._heroHeading_13cxj_10{gap:calc(var(--grid-unit) * 1)}}@media (max-width: 680px){._heroHeading_13cxj_10{display:flow-root}._heroPortrait_13cxj_197{float:right;margin:0 0 calc(var(--grid-unit) * 1) calc(var(--grid-unit) * 1)}._heroActions_13cxj_72{clear:both}}html[data-mode=normal] ._heroBody_13cxj_6{padding:48px 0 40px}html[data-mode=normal] ._heroTitle_13cxj_23{margin-top:12px;font-size:24px;line-height:1.3;letter-spacing:-.03em}html[data-mode=normal] ._heroHeading_13cxj_10{grid-template-columns:minmax(0,1fr) 144px;gap:32px}html[data-mode=normal] ._heroIntroduction_13cxj_31{margin-top:16px;line-height:1.75}html[data-mode=normal] ._heroIntroduction_13cxj_31 a{display:inline;height:auto;vertical-align:baseline}html[data-mode=normal] ._heroIntroduction_13cxj_31 ._undergraduateUniversity_13cxj_61,html[data-mode=normal] ._heroIntroduction_13cxj_31 ._labLink_13cxj_62{box-shadow:0 1px 0 var(--primary-color);text-decoration:none}html[data-mode=normal] ._heroActions_13cxj_72{gap:12px;margin-top:20px}html[data-mode=normal] ._primaryButton_13cxj_85,html[data-mode=normal] ._githubButton_13cxj_129,html[data-mode=normal] ._heroEmail_13cxj_130{min-width:0;height:auto;min-height:40px;padding:10px 14px;gap:8px;border-radius:4px;line-height:1.5}html[data-mode=normal] ._heroPortrait_13cxj_197{width:144px;height:144px;margin:0}@media (max-width: 760px){html[data-mode=normal] ._heroBody_13cxj_6{padding:32px 0 36px}html[data-mode=normal] ._heroHeading_13cxj_10{grid-template-columns:minmax(0,1fr) 160px;gap:24px}html[data-mode=normal] ._heroPortrait_13cxj_197{width:160px;height:160px}}@media (max-width: 680px){html[data-mode=normal] ._heroPortrait_13cxj_197{margin:0 0 16px 20px}}@media (max-width: 420px){html[data-mode=normal] ._heroPortrait_13cxj_197{margin-left:16px}}._section_bmpum_1{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);padding:calc(var(--grid-unit) * 1) var(--content-padding)}._list_bmpum_7{list-style:none}._item_bmpum_11{display:grid;grid-template-columns:calc(var(--grid-unit) * 4) minmax(0,1fr);align-items:start;gap:calc(var(--grid-unit) * 1)}._list_bmpum_7>li+li{margin-top:calc(var(--grid-unit) * 1)}._date_bmpum_22{font-family:JetBrainsMono,monospace;font-size:12px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap;color:var(--secondary-color);transition:color .18s ease;font-variant-numeric:tabular-nums}._description_bmpum_32{min-width:0;font-size:14px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._description_bmpum_32 a,._description_bmpum_32 strong{color:var(--text-color);transition:color .18s ease;font-weight:600}._description_bmpum_32 a{text-decoration:underline var(--primary-color) 1px;text-decoration-skip-ink:none;text-underline-offset:calc(var(--grid-unit) * .25);transition:color .18s ease,text-decoration-color .18s ease}@media (hover: hover){._description_bmpum_32 a:not(:disabled):hover{color:var(--primary-color)}}._description_bmpum_32 a:not(:disabled):active,._description_bmpum_32 a:not(:disabled)[data-touch-active]{color:var(--primary-color)}html[data-mode=normal] ._section_bmpum_1{padding:0 0 40px}html[data-mode=normal] ._item_bmpum_11{grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:baseline}html[data-mode=normal] ._list_bmpum_7>li+li{margin-top:12px}html[data-mode=normal] ._date_bmpum_22,html[data-mode=normal] ._description_bmpum_32{line-height:1.75}html[data-mode=normal] ._description_bmpum_32 a{text-decoration:none;box-shadow:0 1px 0 var(--primary-color)}html[data-mode=normal] ._date_bmpum_22{font-size:13px}@media (max-width: 760px){html[data-mode=normal] ._item_bmpum_11{gap:16px}}._abstractBlock_1lk7y_1{margin-top:calc(var(--grid-unit) * 1)}._abstractDrawer_1lk7y_5{overflow:hidden;opacity:0;transition:height .38s cubic-bezier(.22,1,.36,1),opacity .2s ease}._researchAbstract_1lk7y_11{margin:0;padding-top:calc(var(--grid-unit) * 1);font-family:var(--reading-font);color:var(--secondary-color);transition:color .18s ease;font-size:13px;line-height:calc(var(--grid-unit) * 1)}._abstractExpanded_1lk7y_21 ._abstractDrawer_1lk7y_5{opacity:1}._abstractToggle_1lk7y_25 svg{transition:transform .18s ease}._abstractToggle_1lk7y_25[aria-expanded=true] svg{transform:rotate(180deg)}._paperFooter_1lk7y_32{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:calc(var(--grid-unit) * 1)}._paperLinks_1lk7y_40{display:flex;flex-wrap:wrap;gap:calc(var(--grid-unit) * 1)}._paperLinks_1lk7y_40 a,._paperLinks_1lk7y_40 button{display:inline-flex;align-items:center;justify-content:center;gap:2px;height:calc(var(--grid-unit) * 1);padding:0 calc(var(--grid-unit) * .25);color:var(--primary-color);font-size:12px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap;box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._paperLinks_1lk7y_40 a:not(:disabled):hover,._paperLinks_1lk7y_40 button:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}}._paperLinks_1lk7y_40 a:not(:disabled):active,._paperLinks_1lk7y_40 a:not(:disabled)[data-touch-active],._paperLinks_1lk7y_40 button:not(:disabled):active,._paperLinks_1lk7y_40 button:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._paperLinks_1lk7y_40 a:focus-visible,._paperLinks_1lk7y_40 button:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}html[data-mode=normal] ._paperLinks_1lk7y_40 a:hover,html[data-mode=normal] ._paperLinks_1lk7y_40 a:active,html[data-mode=normal] ._paperLinks_1lk7y_40 a:focus-visible,html[data-mode=normal] ._paperLinks_1lk7y_40 a[data-touch-active],html[data-mode=normal] ._paperLinks_1lk7y_40 button:hover,html[data-mode=normal] ._paperLinks_1lk7y_40 button:active,html[data-mode=normal] ._paperLinks_1lk7y_40 button:focus-visible,html[data-mode=normal] ._paperLinks_1lk7y_40 button[data-touch-active]{transform:none;box-shadow:inset 0 0 0 1px var(--border-color)}._paperLinks_1lk7y_40 button{border:0;background:transparent}html[data-mode=normal] ._abstractBlock_1lk7y_1{margin-top:12px}html[data-mode=normal] ._researchAbstract_1lk7y_11{padding-top:14px;font-size:13px;line-height:1.75}html[data-mode=normal] ._paperFooter_1lk7y_32,html[data-mode=normal] ._paperLinks_1lk7y_40{gap:8px}html[data-mode=normal] ._paperLinks_1lk7y_40 a,html[data-mode=normal] ._paperLinks_1lk7y_40 button{height:auto;min-height:30px;padding:5px 10px;gap:4px;border-radius:4px;line-height:1.5;color:var(--primary-color)}html[data-mode=normal] ._paperLinks_1lk7y_40 a:hover,html[data-mode=normal] ._paperLinks_1lk7y_40 a:active,html[data-mode=normal] ._paperLinks_1lk7y_40 a:focus-visible,html[data-mode=normal] ._paperLinks_1lk7y_40 button:hover,html[data-mode=normal] ._paperLinks_1lk7y_40 button:active,html[data-mode=normal] ._paperLinks_1lk7y_40 button:focus-visible{box-shadow:inset 0 0 0 1px var(--primary-color)}._section_ibhfq_1{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);padding:calc(var(--grid-unit) * 1) var(--content-padding) 0}._researchItem_ibhfq_7{box-shadow:inset 0 1px var(--border-color);transition:box-shadow .18s ease;scroll-margin-top:-2px}._researchGrid_ibhfq_13{display:grid;grid-template-columns:calc(var(--grid-unit) * 13) minmax(0,1fr);gap:calc(var(--grid-unit) * 1) calc(var(--grid-unit) * 2);align-items:start;padding:calc(var(--grid-unit) * 1) 0}._paperMetadata_ibhfq_21{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:calc(var(--grid-unit) * 1);min-width:0}._researchFigure_ibhfq_31{position:relative;width:100%;align-self:start;margin:0;padding:0}._researchFigure_ibhfq_31 img{display:block;width:calc(100% + var(--grid-edge-extension));height:auto;padding:4px;background-color:#fff}._venueBadges_ibhfq_46{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:calc(var(--grid-unit) * 1);font-size:11px;line-height:calc(var(--grid-unit) * 1)}._venueBadges_ibhfq_46>span{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--grid-unit) * 3);height:calc(var(--grid-unit) * 1);padding:0;white-space:nowrap;color:var(--text-color);background:var(--background-color);box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:box-shadow .18s ease;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}._venueBadges_ibhfq_46 ._venueTag_ibhfq_68{min-width:calc(var(--grid-unit) * 4);background:var(--brand-color);color:var(--on-primary);font-weight:600;box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color),var(--frame-outer) var(--brand-color)}._researchContent_ibhfq_76{min-width:0}._researchContent_ibhfq_76 h3{font-weight:600;font-size:16px;line-height:calc(var(--grid-unit) * 1);letter-spacing:-.02em}._authors_ibhfq_86{margin-top:0;font-size:12px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._authors_ibhfq_86 a{display:inline-block;vertical-align:top;height:calc(var(--grid-unit) * 1);box-shadow:0 1px 0 var(--border-color);transition:box-shadow .18s ease}@media (hover: hover){._authors_ibhfq_86 a:not(:disabled):hover{color:var(--primary-color);box-shadow:0 1px 0 currentColor}}._authors_ibhfq_86 a:not(:disabled):active,._authors_ibhfq_86 a:not(:disabled)[data-touch-active]{color:var(--primary-color);box-shadow:0 1px 0 currentColor}._authors_ibhfq_86 sup{font-size:.75em;line-height:0}._authors_ibhfq_86 ._selfAuthor_ibhfq_114{font-weight:600;color:var(--text-color);transition:color .18s ease}._researchTags_ibhfq_120{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto;list-style:none;gap:calc(var(--grid-unit) * 1);color:var(--secondary-color);font-size:11px;line-height:calc(var(--grid-unit) * 1)}._researchTags_ibhfq_120 li{display:inline-flex;align-items:center;justify-content:center;height:calc(var(--grid-unit) * 1);padding:0 calc(var(--grid-unit) * .5);white-space:nowrap;border-radius:0;box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);color:var(--secondary-color);transition:color .18s ease,box-shadow .18s ease}@media (max-width: 900px){._researchGrid_ibhfq_13{grid-template-columns:calc(var(--grid-unit) * 11) minmax(0,1fr)}}@media (max-width: 760px){._paperMetadata_ibhfq_21{justify-content:flex-start}._venueBadges_ibhfq_46,._researchTags_ibhfq_120{display:contents}._researchGrid_ibhfq_13{grid-template-columns:minmax(0,1fr);gap:calc(var(--grid-unit) * 1)}._researchFigure_ibhfq_31{width:min(100%,var(--grid-unit) * 20)}}@media (max-width: 420px){._researchContent_ibhfq_76 h3{font-size:16px}}html[data-mode=normal] ._section_ibhfq_1{padding:0 0 24px}html[data-mode=normal] ._researchGrid_ibhfq_13{grid-template-columns:232px minmax(0,1fr);gap:16px 28px;padding:24px 0}html[data-mode=normal] ._paperMetadata_ibhfq_21{gap:8px;align-items:center}html[data-mode=normal] ._venueBadges_ibhfq_46{gap:8px;line-height:1.5}html[data-mode=normal] ._venueBadges_ibhfq_46>span{min-width:0;height:auto;padding:3px 8px;border-radius:3px}html[data-mode=normal] ._researchTags_ibhfq_120{gap:8px;line-height:1.5}html[data-mode=normal] ._researchTags_ibhfq_120 li{height:auto;padding:3px 8px;border-radius:3px}html[data-mode=normal] ._researchContent_ibhfq_76 h3{font-size:17px;line-height:1.45;letter-spacing:-.01em}html[data-mode=normal] ._authors_ibhfq_86{margin-top:6px;line-height:1.7}html[data-mode=normal] ._authors_ibhfq_86 a{display:inline;height:auto;vertical-align:baseline}@media (max-width: 900px){html[data-mode=normal] ._researchGrid_ibhfq_13{grid-template-columns:200px minmax(0,1fr);gap:16px 24px}}@media (max-width: 760px){html[data-mode=normal] ._paperMetadata_ibhfq_21{justify-content:flex-start}html[data-mode=normal] ._researchGrid_ibhfq_13{grid-template-columns:minmax(0,1fr);gap:16px}html[data-mode=normal] ._researchFigure_ibhfq_31{width:min(100%,400px)}}._viewport_scz0m_1{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}._viewport_scz0m_1 a{cursor:grab}._viewport_scz0m_1:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}._dragging_scz0m_14,._dragging_scz0m_14 *{cursor:grabbing}._track_scz0m_19{display:flex;width:max-content;animation:_marqueeScroll_scz0m_1 linear infinite;will-change:transform}._group_scz0m_26{display:flex;flex-shrink:0}._staticGroup_scz0m_31{display:grid;grid-template-columns:minmax(0,1fr)}html[data-mode=normal] ._staticViewport_scz0m_36{overflow:visible;container-type:inline-size}html[data-mode=normal] ._staticGroup_scz0m_31>*{width:100%;min-width:0}html[data-mode=normal] .marquee-repeat,html[data-mode=normal] ._group_scz0m_26[aria-hidden=true]{display:none}html[data-mode=normal] ._track_scz0m_19{animation:none;transform:none;width:100%;will-change:auto}html[data-mode=normal] ._group_scz0m_26{display:grid;width:100%;grid-template-columns:minmax(0,1fr)}@container (min-width: 640px){._staticGroup_scz0m_31{grid-template-columns:repeat(2,minmax(0,1fr))}@supports (width: round(down,50%,20px)){._staticGroup_scz0m_31{grid-template-columns:repeat(2,round(down,50%,var(--grid-unit)))}}}@container (min-width: 1000px){._staticGroup_scz0m_31{grid-template-columns:repeat(3,minmax(0,1fr))}@supports (width: round(down,33%,20px)){._staticGroup_scz0m_31{grid-template-columns:repeat(3,round(down,33.3333333333%,var(--grid-unit)))}}}@keyframes _marqueeScroll_scz0m_1{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.marquee-repeat{display:none}._track_scz0m_19{animation:none;transform:none;will-change:auto}._group_scz0m_26[aria-hidden=true]{display:none}}._honors_lbczj_1{margin-top:calc(var(--grid-unit) * 1)}._honors_lbczj_1 h3{margin-bottom:calc(var(--grid-unit) * 1);color:var(--secondary-color);font-size:12px;font-weight:500;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease}._honorsMarquee_lbczj_13{width:100vw;margin-left:calc(-1 * var(--content-offset) - var(--content-padding));overflow:hidden;box-shadow:inset 0 1px var(--border-color),var(--line-bottom) var(--border-color);transition:box-shadow .18s ease}._honor_lbczj_1{display:flex;align-items:center;justify-content:center;gap:calc(var(--grid-unit) * 1);width:calc(var(--grid-unit) * 18);min-height:calc(var(--grid-unit) * 10);padding:calc(var(--grid-unit) * 1);box-shadow:var(--line-right) var(--border-color);transition:box-shadow .18s ease;font-size:12px}._honor_lbczj_1 img{display:block;width:auto;height:auto;max-width:calc(var(--grid-unit) * 6);max-height:calc(var(--grid-unit) * 8);object-fit:contain;flex-shrink:0}._honor_lbczj_1>div{min-width:0;display:grid;gap:calc(var(--grid-unit) * .5);text-align:center}._honor_lbczj_1 span{font-size:11px;color:var(--secondary-color);transition:color .18s ease}._honor_lbczj_1 span,._honor_lbczj_1 p,._honor_lbczj_1 strong{line-height:calc(var(--grid-unit) * 1)}._honor_lbczj_1 strong{color:var(--primary-color);font-weight:500;font-size:12px}._honor_lbczj_1 ._honorDetail_lbczj_61{color:var(--secondary-color);transition:color .18s ease}html[data-mode=normal] ._honorsMarquee_lbczj_13{width:100%;margin-left:0;overflow:visible}html[data-mode=normal] ._honor_lbczj_1{width:100%}@media (prefers-reduced-motion: reduce){._honorsMarquee_lbczj_13{overflow-x:auto}}._projectsSection_18j2i_1{padding-top:calc(var(--grid-unit) * 1)}._projectHeading_18j2i_5,._projectFoot_18j2i_6,._projectHonors_18j2i_7{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);padding-inline:var(--content-padding)}._marquee_18j2i_13{display:grid;width:100%;margin:0;padding:0;overflow:hidden}._marqueeRow_18j2i_21{overflow:hidden;padding-block:calc(var(--grid-unit) * 1);box-shadow:inset 0 1px var(--border-color);transition:box-shadow .18s ease}._marqueeRow_18j2i_21:last-child{box-shadow:inset 0 1px var(--border-color),var(--line-bottom) var(--border-color)}._marqueeReverse_18j2i_31 ._marqueeTrack_18j2i_31{animation-direction:reverse;animation-duration:48s}._projectCard_18j2i_36{position:relative;z-index:1;display:flex;flex-direction:column;flex-shrink:0;min-width:0;width:calc(var(--grid-unit) * 16);height:calc(var(--grid-unit) * 11);padding:calc(var(--grid-unit) * 1);box-shadow:var(--line-right) var(--border-color);transition:box-shadow .18s ease,background-color .18s ease,transform .18s ease}._projectCard_18j2i_36 h3{margin-top:calc(var(--grid-unit) * 1);font-size:16px;font-weight:500;line-height:calc(var(--grid-unit) * 1)}._projectCard_18j2i_36>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-height:calc(var(--grid-unit) * 2);margin-top:calc(var(--grid-unit) * 1);font-size:12px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}@media (hover: hover){._projectCard_18j2i_36:not(:disabled):hover{z-index:2;transform:translate(-3px,-3px);background-color:var(--background-color);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),6px 6px 0 var(--primary-color)}}._projectCard_18j2i_36:not(:disabled):active,._projectCard_18j2i_36:not(:disabled)[data-touch-active]{z-index:2;transform:translate(-3px,-3px);background-color:var(--background-color);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),6px 6px 0 var(--primary-color)}._projectCard_18j2i_36:has(:focus-visible){z-index:2;outline:none;transform:translate(-3px,-3px);background-color:var(--background-color);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),6px 6px 0 var(--primary-color)}._projectLink_18j2i_90{outline:none}._projectLink_18j2i_90:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}._projectMeta_18j2i_100{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:calc(var(--grid-unit) * 1);font-size:11px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._projectMeta_18j2i_100>span:first-child{color:var(--primary-color)}._projectActions_18j2i_115{display:flex;align-items:center;gap:calc(var(--grid-unit) * .5)}._projectActions_18j2i_115>span{display:flex;align-items:center;gap:9px}._projectActions_18j2i_115>span>svg{width:14px;height:14px}._projectRepository_18j2i_130{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:calc(var(--grid-unit) * 1.5);height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}@media (hover: hover){._projectRepository_18j2i_130:not(:disabled):hover{color:var(--primary-color)}}._projectRepository_18j2i_130:focus-visible{color:var(--primary-color)}._projectTechnologies_18j2i_151{display:flex;gap:calc(var(--grid-unit) * 1);padding-top:calc(var(--grid-unit) * 1);margin-top:auto;font-size:11px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._projectFoot_18j2i_6{margin-top:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease;line-height:calc(var(--grid-unit) * 1)}._projectFootContent_18j2i_169{display:flex;justify-content:flex-end}._textLink_18j2i_174{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:calc(var(--grid-unit) * 1)}@media (hover: hover){._textLink_18j2i_174:not(:disabled):hover{color:var(--primary-color)}}._textLink_18j2i_174:not(:disabled):active,._textLink_18j2i_174:not(:disabled)[data-touch-active]{color:var(--primary-color)}html[data-mode=normal] ._marquee_18j2i_13{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);padding-inline:var(--content-padding);overflow:visible}html[data-mode=normal] ._projectCard_18j2i_36{width:100%}html[data-mode=normal] ._projectCard_18j2i_36:hover,html[data-mode=normal] ._projectCard_18j2i_36:active,html[data-mode=normal] ._projectCard_18j2i_36:focus-within,html[data-mode=normal] ._projectCard_18j2i_36[data-touch-active]{transform:none;background:transparent;box-shadow:inset -1px 0 var(--border-color)}html[data-mode=normal] ._projectLink_18j2i_90:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}@media (max-width: 420px){._textLink_18j2i_174{font-size:11px;gap:6px}}@media (prefers-reduced-motion: reduce){._marqueeRow_18j2i_21{overflow-x:auto;scrollbar-width:thin}}._colorPicker_549ub_1{display:flex;align-items:center;flex-shrink:0;gap:calc(var(--grid-unit) * .5);margin-left:calc(var(--grid-unit) * .5);font-size:11px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._colorTrigger_549ub_13{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:calc(var(--grid-unit) * 2);height:calc(var(--grid-unit) * 2);padding:calc(var(--grid-unit) * .25);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:var(--background-color);cursor:pointer;box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:box-shadow .18s ease;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._colorTrigger_549ub_13:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}}._colorTrigger_549ub_13:not(:disabled):active,._colorTrigger_549ub_13:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._colorTrigger_549ub_13:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}html[data-mode=normal] ._colorTrigger_549ub_13:hover,html[data-mode=normal] ._colorTrigger_549ub_13:active,html[data-mode=normal] ._colorTrigger_549ub_13:focus-visible,html[data-mode=normal] ._colorTrigger_549ub_13[data-touch-active]{transform:none;box-shadow:inset 0 0 0 1px var(--border-color)}._colorTrigger_549ub_13>span{width:100%;height:100%;background:var(--ink-color)}._colorTrigger_549ub_13:has(input:focus-visible){outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._colorInput_549ub_63{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;opacity:0;cursor:pointer}@media (any-pointer: coarse){._colorInput_549ub_63{font-size:16px}}@media (max-width: 420px){._colorPicker_549ub_1{gap:calc(var(--grid-unit) * .25)}}._drawingPanel_1qs8k_1{--drawing-error-color: #b42318;min-width:0;width:min(100%,var(--grid-unit) * 24);justify-self:center}.dark ._drawingPanel_1qs8k_1{--drawing-error-color: #f97066}._drawingToolbar_1qs8k_11,._drawingSurface_1qs8k_12,._drawingSubmit_1qs8k_13,._drawingStatus_1qs8k_14{width:var(--board-size, 100%);margin-left:var(--board-offset-x, 0px)}._drawingToolbar_1qs8k_11{display:flex;align-items:center;gap:calc(var(--grid-unit) * .5);height:calc(var(--grid-unit) * 3);padding:calc(var(--grid-unit) * .5);box-shadow:inset 0 1px var(--border-color),inset 1px 0 var(--border-color),var(--line-right) var(--border-color);transition:box-shadow .18s ease}._pixelInk_1qs8k_29{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--secondary-color);font-family:JetBrainsMono,monospace;font-size:10px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap;transition:color .18s ease}._drawingTools_1qs8k_42{display:flex;flex-shrink:0;margin-left:auto;margin-right:calc(var(--grid-unit) * -.5)}._drawingTools_1qs8k_42 button{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--grid-unit) * 2);height:calc(var(--grid-unit) * 2);border:0;background:transparent;color:var(--text-color);transition:color .18s ease}@media (hover: hover){._drawingTools_1qs8k_42 button:not(:disabled):hover{color:var(--primary-color)}}._drawingTools_1qs8k_42 button:focus-visible{color:var(--primary-color)}._drawingSurface_1qs8k_12{position:relative;box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);height:var(--board-size, calc(var(--grid-unit) * 16));transition:box-shadow .18s ease}@media (hover: hover){._drawingSurface_1qs8k_12:hover{box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),6px 6px 0 var(--primary-color)}}._drawingSurface_1qs8k_12._drawingActive_1qs8k_79{box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),6px 6px 0 var(--primary-color);transition:none}._drawingSurface_1qs8k_12 canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}._drawingSlot_1qs8k_91{padding-top:var(--board-offset-y, 0px)}._drawingPrompt_1qs8k_95{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;padding:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease;font-size:13px;line-height:calc(var(--grid-unit) * 1);pointer-events:none}._drawingSubmit_1qs8k_13{display:flex;align-items:center;gap:calc(var(--grid-unit) * 1);margin-top:calc(var(--grid-unit) * 1)}._primaryButton_1qs8k_116{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:calc(var(--grid-unit) * .5);min-width:calc(var(--grid-unit) * 7);height:calc(var(--grid-unit) * 2);padding:0 calc(var(--grid-unit) * .5);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;box-shadow:var(--frame-outer) var(--brand-color);background:var(--brand-color);color:var(--on-primary);font-size:13px;font-weight:700;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._primaryButton_1qs8k_116:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}}._primaryButton_1qs8k_116:not(:disabled):active,._primaryButton_1qs8k_116:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}._primaryButton_1qs8k_116:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}html[data-mode=normal] ._primaryButton_1qs8k_116:hover,html[data-mode=normal] ._primaryButton_1qs8k_116:active,html[data-mode=normal] ._primaryButton_1qs8k_116:focus-visible,html[data-mode=normal] ._primaryButton_1qs8k_116[data-touch-active]{transform:none;box-shadow:none}._primaryButton_1qs8k_116>svg{flex-shrink:0}._primaryButton_1qs8k_116{flex:0 0 calc(var(--grid-unit) * 9);width:calc(var(--grid-unit) * 9);min-width:calc(var(--grid-unit) * 9);max-width:calc(var(--grid-unit) * 9);padding-inline:calc(var(--grid-unit) * .5);font-size:12px;gap:8px;white-space:nowrap}._drawingNameField_1qs8k_170{display:flex;flex:1;align-items:center;min-width:0;height:calc(var(--grid-unit) * 2);border:0;padding:1px;box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);color:var(--secondary-color);font-size:11px;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._drawingNameField_1qs8k_170:hover{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}}._drawingNameField_1qs8k_170:focus-within{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._drawingNameInput_1qs8k_195{flex:1;min-width:0;height:100%;padding:0 calc(var(--grid-unit) * .5);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;outline:none;background:transparent;color:var(--text-color);transition:color .18s ease;caret-color:var(--brand-color);font-size:13px}._drawingNameCount_1qs8k_211{flex-shrink:0;padding-right:calc(var(--grid-unit) * .5);font-variant-numeric:tabular-nums;white-space:nowrap}._drawingNameCount_1qs8k_211[data-invalid]{color:var(--drawing-error-color)}._drawingStatus_1qs8k_14{min-height:calc(var(--grid-unit) * 1);margin-top:calc(var(--grid-unit) * 1);font-size:12px;color:var(--secondary-color);line-height:calc(var(--grid-unit) * 1);transition:color .18s ease}html[data-mode=normal] ._drawingNameField_1qs8k_170{border:1px solid var(--border-color);padding:0;box-shadow:none}html[data-mode=normal] ._drawingNameField_1qs8k_170:hover,html[data-mode=normal] ._drawingNameField_1qs8k_170:focus-within{box-shadow:inset 0 0 0 1px var(--primary-color),3px 3px 0 var(--primary-color)}@media (any-pointer: coarse){._drawingNameInput_1qs8k_195{font-size:16px}}@media (max-width: 420px){._pixelInk_1qs8k_29{font-size:9px}._drawingToolbar_1qs8k_11{gap:calc(var(--grid-unit) * .25)}._drawingSubmit_1qs8k_13{flex-wrap:wrap}._drawingSubmit_1qs8k_13>label{flex-basis:100%}._primaryButton_1qs8k_116{flex-basis:calc(var(--grid-unit) * 9)}}._visitorMarquee_1yqcu_1{width:100%;overflow:hidden;box-shadow:inset 0 1px var(--border-color),var(--line-bottom) var(--border-color);transition:box-shadow .18s ease}._visitorDrawing_1yqcu_8{margin:0;flex:0 0 calc(var(--grid-unit) * 12);width:calc(var(--grid-unit) * 12);padding:calc(var(--grid-unit) * 1);box-shadow:var(--line-right) var(--border-color);transition:box-shadow .18s ease}._visitorDrawing_1yqcu_8 svg{display:block;width:100%;aspect-ratio:1;background:var(--background-color);box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:background-color .18s ease,box-shadow .18s ease}._visitorDrawing_1yqcu_8 figcaption{display:flex;justify-content:space-between;align-items:center;gap:6px;height:calc(var(--grid-unit) * 2);padding-top:calc(var(--grid-unit) * 1);font-size:10px;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);transition:color .18s ease}._visitorDrawing_1yqcu_8 figcaption>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._visitorDrawing_1yqcu_8 time{flex-shrink:0}@media (prefers-reduced-motion: reduce){._visitorMarquee_1yqcu_1{overflow-x:auto;scrollbar-width:thin}}._guestbook_1monr_1{margin-top:calc(var(--grid-unit) * 2);padding-top:calc(var(--grid-unit) * 1);box-shadow:inset 0 1px var(--border-color);transition:box-shadow .18s ease}._guestbookHeading_1monr_8{margin-bottom:calc(var(--grid-unit) * 1)}._guestbookHeading_1monr_8 h3{margin-top:calc(var(--grid-unit) * 1);font-size:20px;line-height:calc(var(--grid-unit) * 1);font-weight:500;letter-spacing:-.04em}._guestbookHeading_1monr_8 p{margin-top:calc(var(--grid-unit) * 1);color:var(--secondary-color);font-size:13px;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease}._guestbookStats_1monr_26{display:flex;flex-shrink:0;gap:calc(var(--grid-unit) * 1)}._guestbookStats_1monr_26>span{display:flex;align-items:center;gap:6px;color:var(--secondary-color);font-size:11px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap;transition:color .18s ease}._guestbookStats_1monr_26 strong{color:var(--primary-color);font-family:var(--heading-font);font-weight:500;font-size:18px;line-height:calc(var(--grid-unit) * 1)}._guestbookGrid_1monr_49{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(var(--grid-unit) * 2)}._visitorWall_1monr_55{min-width:0;width:100vw;margin-left:calc(-1 * var(--content-offset) - var(--content-padding))}._visitorWall_1monr_55 h4{flex-shrink:0;font-size:13px;font-weight:500;line-height:calc(var(--grid-unit) * 1);color:var(--secondary-color);white-space:nowrap;transition:color .18s ease}._visitorWallHeading_1monr_70{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--grid-unit) * 1);width:calc(var(--content-width) - var(--content-padding) * 2);margin:0 calc(var(--content-offset) + var(--content-padding)) calc(var(--grid-unit) * 1);height:calc(var(--grid-unit) * 1)}._textButton_1monr_80{display:inline-flex;height:calc(var(--grid-unit) * 2);align-items:center;background:transparent;color:var(--primary-color);border:0;font-size:12px;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._textButton_1monr_80:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}}._textButton_1monr_80:not(:disabled):active,._textButton_1monr_80:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._textButton_1monr_80:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}html[data-mode=normal] ._textButton_1monr_80:hover,html[data-mode=normal] ._textButton_1monr_80:active,html[data-mode=normal] ._textButton_1monr_80:focus-visible,html[data-mode=normal] ._textButton_1monr_80[data-touch-active]{transform:none;box-shadow:inset 0 0 0 1px var(--border-color)}html[data-mode=normal] ._visitorWall_1monr_55{width:100%;margin-left:0}html[data-mode=normal] ._visitorWallHeading_1monr_70{width:100%;margin-inline:0}@media (max-width: 760px){._guestbookStats_1monr_26{gap:calc(var(--grid-unit) * .5)}._guestbookStats_1monr_26>span{gap:4px;font-size:10px}}._contact_1ao8a_1{width:var(--content-width, calc(100% - 48px) );margin-inline:var(--content-offset, 24px);position:relative}._contactContent_1ao8a_7{padding:calc(var(--grid-unit) * 1) var(--content-padding)}._contactIntro_1ao8a_11{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(var(--grid-unit) * 1)}._contactCopy_1ao8a_18{flex:1;min-width:0}._contactCopy_1ao8a_18 h2{margin-top:calc(var(--grid-unit) * 1);font-size:20px;line-height:calc(var(--grid-unit) * 1);font-weight:500;letter-spacing:-.045em}._contactCopy_1ao8a_18>p{margin-top:calc(var(--grid-unit) * 1);color:var(--secondary-color);font-size:13px;line-height:calc(var(--grid-unit) * 1);transition:color .18s ease}._contactLinks_1ao8a_37{display:flex;align-items:center;gap:calc(var(--grid-unit) * 1);margin-top:calc(var(--grid-unit) * 1)}._contactGithub_1ao8a_44{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:calc(var(--grid-unit) * .5);height:calc(var(--grid-unit) * 2);padding:0 calc(var(--grid-unit) * .5);color:var(--text-color);box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:box-shadow .18s ease;font-size:12px;line-height:calc(var(--grid-unit) * 1);white-space:nowrap;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._contactGithub_1ao8a_44:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}}._contactGithub_1ao8a_44:not(:disabled):active,._contactGithub_1ao8a_44:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}._contactGithub_1ao8a_44:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-inner) var(--primary-color),var(--frame-outer) var(--primary-color),3px 3px 0 var(--primary-color)}html[data-mode=normal] ._contactGithub_1ao8a_44:hover,html[data-mode=normal] ._contactGithub_1ao8a_44:active,html[data-mode=normal] ._contactGithub_1ao8a_44:focus-visible,html[data-mode=normal] ._contactGithub_1ao8a_44[data-touch-active]{transform:none;box-shadow:inset 0 0 0 1px var(--border-color)}._contactGithub_1ao8a_44>svg{flex-shrink:0}._contactGithub_1ao8a_44>svg:first-child{width:16px;height:16px}._contactGithub_1ao8a_44>svg:last-child{width:12px;height:12px}._emailLink_1ao8a_92{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--grid-unit) * .5);padding:0 calc(var(--grid-unit) * 1);font-size:13px;font-weight:600;height:calc(var(--grid-unit) * 2);line-height:calc(var(--grid-unit) * 1);background:var(--brand-color);box-shadow:var(--frame-outer) var(--brand-color);color:var(--on-primary);transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}@media (hover: hover){._emailLink_1ao8a_92:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}}._emailLink_1ao8a_92:not(:disabled):active,._emailLink_1ao8a_92:not(:disabled)[data-touch-active]{transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}._emailLink_1ao8a_92:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;transform:translate(-1px,-1px);box-shadow:var(--frame-outer) var(--brand-color),3px 3px 0 var(--button-shadow-color)}html[data-mode=normal] ._emailLink_1ao8a_92:hover,html[data-mode=normal] ._emailLink_1ao8a_92:active,html[data-mode=normal] ._emailLink_1ao8a_92:focus-visible,html[data-mode=normal] ._emailLink_1ao8a_92[data-touch-active]{transform:none;box-shadow:none}._copyButton_1ao8a_128{box-shadow:var(--frame-inner) var(--border-color),var(--frame-outer) var(--border-color);transition:box-shadow .18s ease;display:inline-flex;align-items:center;justify-content:center;width:calc(var(--grid-unit) * 2);height:calc(var(--grid-unit) * 2);padding:0;border:0;background:transparent;color:var(--text-color);transition:color .18s ease}@media (hover: hover){._copyButton_1ao8a_128:not(:disabled):hover{color:var(--primary-color)}}._copyButton_1ao8a_128:focus-visible{color:var(--primary-color)}._copyButton_1ao8a_128{transition:color .18s ease,box-shadow .18s ease}._copyButton_1ao8a_128._copied_1ao8a_153{color:var(--primary-color)}._copyIcon_1ao8a_157{display:inline-flex;animation:_iconAppear_1ao8a_1 .18s ease-out}@keyframes _iconAppear_1ao8a_1{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (max-width: 900px){._contactIntro_1ao8a_11{flex-wrap:wrap}}@media (max-width: 760px){._contactIntro_1ao8a_11{flex-direction:column;align-items:flex-start}}html[data-mode=normal] ._contactContent_1ao8a_7{padding:24px 0 32px}html[data-mode=normal] ._contactIntro_1ao8a_11{gap:20px}html[data-mode=normal] ._contactCopy_1ao8a_18 h2{margin-top:12px;font-size:24px;line-height:1.3;letter-spacing:-.03em}html[data-mode=normal] ._contactCopy_1ao8a_18>p{margin-top:8px;font-size:14px;line-height:1.7}html[data-mode=normal] ._contactLinks_1ao8a_37{flex-wrap:wrap;gap:12px;margin-top:16px}html[data-mode=normal] ._emailLink_1ao8a_92,html[data-mode=normal] ._contactGithub_1ao8a_44{height:auto;min-height:40px;padding:10px 14px;gap:8px;border-radius:4px;line-height:1.5}html[data-mode=normal] ._copyButton_1ao8a_128{border-radius:4px}._main_11q35_1{--content-padding: calc(var(--grid-unit) * 1);position:relative;isolation:isolate;min-height:100vh}._container_11q35_8{position:relative;z-index:1}._skipLink_11q35_13{position:fixed;top:calc(var(--safe-area-top) + calc(var(--grid-unit) * 1));left:calc(var(--safe-area-inline) + calc(var(--grid-unit) * 1));z-index:100;padding:12px 20px;background:var(--brand-color);color:var(--on-primary);transform:translateY(calc(-200% - var(--safe-area-top)))}._skipLink_11q35_13:focus{transform:translateY(0)}html[data-mode=normal] ._main_11q35_1{--content-padding: 0px}
