.ProgressiveBlur_stack__nFwMb{position:absolute;left:0;right:0;height:var(--blur-h,120px);pointer-events:none}.ProgressiveBlur_top__WX8PQ{top:0}.ProgressiveBlur_bottom__fz8v1{bottom:0}.ProgressiveBlur_layer__sVZhO{position:absolute;inset:0;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur))}.ProgressiveBlur_wash__KSKK6{position:absolute;inset:0;background:linear-gradient(var(--dir,to bottom),color-mix(in srgb,var(--wash,var(--bg)) 92%,transparent) 0,color-mix(in srgb,var(--wash,var(--bg)) 64%,transparent) 36%,color-mix(in srgb,var(--wash,var(--bg)) 26%,transparent) 68%,transparent 100%);transition:background .4s var(--ease)}@media (max-width:899px){.ProgressiveBlur_layer__sVZhO:nth-child(-n+1){display:none}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ProgressiveBlur_wash__KSKK6{background:linear-gradient(var(--dir,to bottom),var(--wash,var(--bg)) 0,transparent 100%)}}.LanguageMenu_root___EsAz{position:relative}.LanguageMenu_trigger__wP1S_{height:44px;min-width:44px;display:inline-flex;align-items:center;gap:6px;touch-action:manipulation;padding:0 10px;border:1.5px solid;font-size:15px;font-weight:700;transition:background-color .18s var(--ease),color .18s var(--ease),transform .12s var(--ease)}.LanguageMenu_trigger__wP1S_[aria-expanded=true]{background:var(--h-fg,var(--fg));color:var(--h-on,var(--bg))}.LanguageMenu_trigger__wP1S_:active{transform:scale(.97)}.LanguageMenu_short__4DInX{min-width:1.6em;text-align:center}.LanguageMenu_pop__yEdq9{position:absolute;top:calc(100% + 10px);right:0;z-index:70;min-width:220px;background:var(--bg);color:var(--fg);border:1.5px solid var(--fg);padding:6px;animation:LanguageMenu_pop__yEdq9 .18s var(--ease)}@keyframes LanguageMenu_pop__yEdq9{0%{opacity:0;transform:translateY(-6px)}}.LanguageMenu_inline__RSjv3,.LanguageMenu_list__dOYF9{display:grid;gap:2px}.LanguageMenu_item__3Wf3C{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 12px;font-size:16px;font-weight:600;text-align:left;transition:background-color .12s var(--ease),color .12s var(--ease)}.LanguageMenu_item__3Wf3C:focus-visible{background:var(--fg);color:var(--bg)}@media (hover:hover) and (pointer:fine){.LanguageMenu_item__3Wf3C:hover{background:var(--fg);color:var(--bg)}}.LanguageMenu_item__3Wf3C[aria-checked=true],.LanguageMenu_item__3Wf3C[aria-pressed=true]{background:var(--soft)}@media (hover:hover) and (pointer:fine){.LanguageMenu_item__3Wf3C[aria-checked=true]:hover,.LanguageMenu_item__3Wf3C[aria-pressed=true]:hover{background:var(--fg)}}.LanguageMenu_note__pfU_3{padding:10px 12px 6px;font-size:13px;line-height:1.4;color:var(--mute)}.LanguageMenu_inlineWrap__26sgD{margin-top:28px}.LanguageMenu_inline__RSjv3{display:flex;flex-wrap:wrap;gap:8px}.LanguageMenu_inline__RSjv3 .LanguageMenu_item__3Wf3C{width:auto;border:1.5px solid var(--fg)}.Header_header__Qlfme{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--head-h);pointer-events:none;--wash:var(--blue);--h-fg:#fff;--h-on:var(--blue);color:var(--h-fg);transition:color .35s var(--ease)}.Header_header__Qlfme[data-tone=ground]{--wash:var(--bg);--h-fg:var(--fg);--h-on:var(--bg)}.Header_blur__k9Csq{--blur-h:calc(var(--head-h) + 64px)}.Header_inner__jjXeI{position:relative;height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:env(safe-area-inset-top,0) max(var(--pad),env(safe-area-inset-right,0px)) 0 max(var(--pad),env(safe-area-inset-left,0px));pointer-events:none}.Header_inner__jjXeI>*{pointer-events:auto}.Header_github__Io8W3{width:44px;height:44px;margin-left:-8px;display:grid;place-items:center;touch-action:manipulation;transition:transform .12s var(--ease),opacity .2s var(--ease)}.Header_github__Io8W3:active{transform:scale(.92)}.Header_nav__0jeCI{display:flex;justify-content:center;gap:clamp(16px,2.6vw,40px)}.Header_link__Vp7rv{position:relative;font-size:15px;font-weight:600;padding:8px 0}.Header_link__Vp7rv:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--flag);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.Header_link__Vp7rv:focus-visible:after{transform:scaleX(1);transform-origin:left}.Header_cv__Lel82{border:1.5px solid;padding:7px 14px;transition:background-color .18s var(--ease),color .18s var(--ease)}.Header_cv__Lel82:after{display:none}.Header_tools__p_6LF{display:flex;align-items:center;gap:6px}.Header_iconBtn__q8x8h{height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;transition:background-color .18s var(--ease),color .18s var(--ease),transform .12s var(--ease)}.Header_iconBtn__q8x8h:active{transform:scale(.92)}.Header_themeIcons__SGM42{position:relative;width:22px;height:22px}.Header_themeIcons__SGM42>svg{position:absolute;inset:0}.Header_themeIcons__SGM42[data-animate=true]>svg{transition:opacity .2s var(--ease),transform .2s var(--ease)}.Header_themeIcons__SGM42>svg:last-child,.Header_themeIcons__SGM42[data-dark=true]>svg:first-child{opacity:0;transform:rotate(-90deg) scale(.6)}.Header_themeIcons__SGM42[data-dark=true]>svg:last-child{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.Header_themeIcons__SGM42[data-animate=true]>svg{transition:opacity .12s linear}.Header_themeIcons__SGM42>svg{transform:none!important}}.Header_bar__2nPEi{position:absolute;left:0;right:0;top:0;height:2px;background:var(--flag);transform-origin:left;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.Header_link__Vp7rv:hover:after{transform:scaleX(1);transform-origin:left}.Header_cv__Lel82:hover,.Header_iconBtn__q8x8h:hover{background:var(--h-fg);color:var(--h-on)}.Header_github__Io8W3:hover{opacity:.7}}@media (max-width:899px){.Header_nav__0jeCI{display:none}.Header_inner__jjXeI{grid-template-columns:1fr auto}.Header_blur__k9Csq{--blur-h:calc(var(--head-h) + 36px)}}.Sheet_root__s6QlF{position:fixed;left:0;right:0;z-index:300;display:flex;align-items:flex-end;justify-content:center;top:0;height:100dvh}.Sheet_backdrop__458Mk{position:absolute;inset:0;background:rgba(8,11,24,.5);opacity:0;transition:opacity .34s var(--ease);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.Sheet_root__s6QlF[data-shown=true] .Sheet_backdrop__458Mk{opacity:1}.Sheet_panel__41tMq{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - env(safe-area-inset-top, 0px) - 24px);display:flex;flex-direction:column;background:var(--bg);color:var(--fg);border:1.5px solid var(--fg);border-bottom:0;border-radius:22px 22px 0 0;overflow:hidden;transform:translate3d(0,100%,0);transition:transform .45s cubic-bezier(.32,.72,0,1);will-change:transform;outline:none;overscroll-behavior:contain}.Sheet_root__s6QlF[data-shown=true] .Sheet_panel__41tMq{transform:translateZ(0)}.Sheet_panel__41tMq.Sheet_dragging__6YnDK{transition:none}.Sheet_grab__53DZX{position:relative;flex:none;display:flex;align-items:center;gap:4px;padding:22px 8px 6px 20px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.Sheet_handle__Whzlr{position:absolute;top:8px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--line)}.Sheet_title__nKkDR{flex:1 1 auto;min-width:0;font-size:17px;font-weight:800;line-height:1.2}.Sheet_close__XXCbI{width:44px;height:44px;display:grid;place-items:center;flex:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.Sheet_close__XXCbI:active{background:var(--soft)}.Sheet_body__oJ9PI{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 20px calc(24px + env(safe-area-inset-bottom, 0px))}@media (min-width:900px){.Sheet_root__s6QlF{align-items:center}.Sheet_panel__41tMq{border-bottom:1.5px solid var(--fg);border-radius:22px}}@media (prefers-reduced-motion:reduce){.Sheet_backdrop__458Mk,.Sheet_panel__41tMq{transition-duration:.01ms}}.MobileDock_dock___JQVm{display:none}@media (max-width:899px){.MobileDock_dock___JQVm{display:block;position:fixed;inset:auto 0 0 0;z-index:70;height:var(--dock-h);pointer-events:none;--wash:var(--blue);--d-fg:#fff;--d-dim:rgba(255,255,255,0.72);color:var(--d-fg);transition:color .35s var(--ease)}.MobileDock_dock___JQVm[data-tone=ground]{--wash:var(--bg);--d-fg:var(--fg);--d-dim:var(--mute)}.MobileDock_blur__lp_Q5{--blur-h:calc(var(--dock-h) + 40px)}.MobileDock_items__NkDMz{position:relative;height:100%;display:grid;grid-template-columns:repeat(5,1fr);padding:0 max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0) max(8px,env(safe-area-inset-left,0px));pointer-events:auto}.MobileDock_item__YtTKb{width:100%;height:100%;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:700;line-height:1;color:var(--d-dim);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:color .2s var(--ease),transform .12s var(--ease)}.MobileDock_item__YtTKb[aria-current=true]{color:var(--d-fg)}.MobileDock_item__YtTKb[aria-current=true]:before{content:"";position:absolute;top:6px;width:18px;height:3px;background:var(--flag)}.MobileDock_item__YtTKb{position:relative}.MobileDock_item__YtTKb:active{transform:scale(.92)}}.MobileDock_more__J9dox{display:grid}.MobileDock_row__3K_L2{display:flex;align-items:center;gap:16px;min-height:60px;padding:0 4px;border-bottom:1px solid var(--line);font-size:19px;font-weight:800;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.MobileDock_row__3K_L2:active{background:var(--soft)}.Awards_awards__fTp_P{position:relative;background:var(--bg);color:var(--fg);border-top:1px solid var(--line);padding:clamp(72px,10vw,140px) var(--pad) clamp(64px,9vw,120px)}.Awards_heading__M__pC{--wdth:78;font-size:clamp(64px,12vw,190px);line-height:.84;margin-bottom:clamp(36px,6vw,72px)}.Awards_selected__mfhfG{border-top:1.5px solid var(--fg)}.Awards_row__iLOx6{display:grid;gap:8px 40px;align-items:baseline;padding:clamp(20px,3vw,34px) 0;border-bottom:1px solid var(--line);transition:background-color .25s var(--ease),padding .3s var(--ease)}.Awards_level__ISOOy{--wdth:84;font-size:clamp(30px,4.6vw,76px)}:lang(ja) .Awards_level__ISOOy,:lang(ko) .Awards_level__ISOOy,:lang(zh) .Awards_level__ISOOy{font-size:clamp(26px,3.6vw,56px)}.Awards_title__jb8cD{font-size:clamp(17px,1.5vw,22px);font-weight:800;line-height:1.3;max-width:36ch}:lang(ja) .Awards_title__jb8cD,:lang(ko) .Awards_title__jb8cD,:lang(zh) .Awards_title__jb8cD{max-width:26em}.Awards_detail__s07Hm{margin-top:4px;color:var(--mute);font-size:15px}@media (min-width:900px){.Awards_row__iLOx6{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}@media (hover:hover) and (pointer:fine){.Awards_row__iLOx6:hover{background:var(--soft);padding-left:14px;padding-right:14px}}.Awards_archive__2dsMN{margin-top:clamp(28px,4vw,48px);border-top:1.5px solid var(--fg)}.Awards_summary__kddTk{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;padding:20px 0;cursor:pointer;list-style:none}.Awards_summary__kddTk::-webkit-details-marker{display:none}.Awards_summaryTitle__3s8Qt{font-size:clamp(20px,2vw,28px);font-weight:800}.Awards_plus__nIbN0{grid-column:2;grid-row:1;transition:transform .35s var(--ease)}.Awards_archive__2dsMN[open] .Awards_plus__nIbN0{transform:rotate(135deg)}@media (hover:hover) and (pointer:fine){.Awards_summary__kddTk:hover .Awards_summaryTitle__3s8Qt{color:var(--accent-text)}}.Awards_archiveBody__Jfeny{padding:8px 0 12px}@supports selector(::details-content){.Awards_archive__2dsMN{interpolate-size:allow-keywords}.Awards_archive__2dsMN::details-content{block-size:0;overflow-y:clip;transition:block-size .3s var(--ease),content-visibility .3s allow-discrete}.Awards_archive__2dsMN[open]::details-content{block-size:auto}}@supports not selector(::details-content){.Awards_archiveBody__Jfeny{animation:Awards_reveal__oQake .4s var(--ease)}}@keyframes Awards_reveal__oQake{0%{opacity:0;transform:translateY(-8px)}}.Awards_more__0PQLd{display:grid}.Awards_moreRow__aFuf_{display:grid;gap:4px 32px;padding:18px 0;border-top:1px solid var(--line)}.Awards_moreLevel__hTrKL{font-weight:800;color:var(--accent-text)}.Awards_moreTitle__kyYc7{font-size:17px;font-weight:800;line-height:1.35;max-width:44ch}@media (min-width:900px){.Awards_moreRow__aFuf_{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.Awards_honoursTitle__59TE8{margin-top:30px;font-size:15px;font-weight:700;color:var(--mute)}.Awards_honours__ZgGN7{display:grid;gap:8px;margin-top:12px;max-width:64ch}.Awards_honours__ZgGN7 li{position:relative;padding-left:20px}.Awards_honours__ZgGN7 li:before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;background:var(--flag)}@media (prefers-reduced-motion:reduce){.Awards_archiveBody__Jfeny{animation:none!important}.Awards_archive__2dsMN::details-content{transition:none}}.AvatarHead_head__2tK6q{flex:none;display:block;object-fit:cover;background:#1536e8;-webkit-user-drag:none;user-select:none}.ChatPanel_log__32vjF{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:16px;padding:18px 20px}.ChatPanel_turn__g7_fi{display:flex;gap:10px;align-items:flex-start;max-width:100%}.ChatPanel_fail__QSqys,.ChatPanel_turn__g7_fi{transition:opacity .2s var(--ease),transform .2s var(--ease)}@starting-style{.ChatPanel_fail__QSqys,.ChatPanel_turn__g7_fi{opacity:0;transform:translateY(6px)}}.ChatPanel_them__9iJJI .ChatPanel_text__YMBhs{max-width:min(100%,38em)}.ChatPanel_me__hO_dR{align-self:flex-end;max-width:86%}.ChatPanel_me__hO_dR .ChatPanel_text__YMBhs{background:var(--fg);color:var(--bg);padding:10px 14px}.ChatPanel_text__YMBhs{min-width:0;overflow-wrap:anywhere;font-size:16px;line-height:1.55}.ChatPanel_text__YMBhs p+p,.ChatPanel_text__YMBhs p+ul,.ChatPanel_text__YMBhs ul+p{margin-top:8px}.ChatPanel_text__YMBhs ul{display:grid;gap:4px}.ChatPanel_text__YMBhs li{position:relative;padding-left:16px}.ChatPanel_text__YMBhs li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--flag)}.ChatPanel_text__YMBhs a{text-decoration:underline;text-decoration-color:var(--flag);text-decoration-thickness:2px;text-underline-offset:3px}.ChatPanel_them__9iJJI .ChatPanel_text__YMBhs{padding-top:4px}.ChatPanel_typing__pq5nk{display:flex;gap:5px;padding-top:14px!important}.ChatPanel_typing__pq5nk i{width:8px;height:8px;background:var(--fg);animation:ChatPanel_pulse__nRvaz 1.1s steps(2,jump-none) infinite}.ChatPanel_typing__pq5nk i:nth-child(2){animation-delay:.18s}.ChatPanel_typing__pq5nk i:nth-child(3){animation-delay:.36s}@keyframes ChatPanel_pulse__nRvaz{0%,to{opacity:.2}50%{opacity:1}}.ChatPanel_starters__xCf0R{display:flex;flex-wrap:wrap;gap:8px;padding-left:38px}.ChatPanel_starter__9HrLi{min-height:44px;padding:8px 14px;border:1.5px solid var(--fg);font-size:15px;font-weight:700;line-height:1.3;text-align:left;transition:background-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease);-webkit-tap-highlight-color:transparent}.ChatPanel_starter__9HrLi:active:not(:disabled){transform:scale(.97);background:var(--fg);color:var(--bg)}.ChatPanel_starter__9HrLi:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.ChatPanel_starter__9HrLi:hover:not(:disabled){background:var(--fg);color:var(--bg)}}.ChatPanel_fail__QSqys{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 14px;border:1.5px solid var(--flag);font-size:15px}.ChatPanel_fail__QSqys a{font-weight:800;text-decoration:underline;text-decoration-color:var(--flag);text-decoration-thickness:2px;text-underline-offset:3px}.ChatPanel_retry__L_yiJ{min-height:40px;padding:0 14px;background:var(--fg);color:var(--bg);font-weight:800}.ChatPanel_retry__L_yiJ:active{transform:scale(.97)}.ChatPanel_composer__jW6_a{flex:none;display:flex;align-items:flex-end;gap:8px;padding:10px 14px 6px;border-top:1px solid var(--line);background:var(--bg)}.ChatPanel_note__bxGZo{flex:none;padding:0 16px 10px;text-align:center;font-size:12px;line-height:1.45;color:var(--mute);text-wrap:balance}.ChatPanel_field__u8GsU{flex:1 1 auto;min-width:0;min-height:44px;max-height:132px;resize:none;padding:10px 12px;border:1.5px solid var(--fg);border-radius:0;background:transparent;color:var(--fg);font-family:inherit;font-size:16px;line-height:1.4;outline:none;-webkit-appearance:none;appearance:none}.ChatPanel_field__u8GsU:focus-visible{outline:2px solid var(--flag);outline-offset:2px}.ChatPanel_field__u8GsU::placeholder{color:var(--mute)}.ChatPanel_send__d1A8r{flex:none;width:44px;height:44px;display:grid;place-items:center;background:var(--flag);color:#0d1320;transition:transform .12s var(--ease),opacity .2s var(--ease);-webkit-tap-highlight-color:transparent}.ChatPanel_send__d1A8r:active:not(:disabled){transform:scale(.94)}.ChatPanel_send__d1A8r:disabled{opacity:.35}@media (prefers-reduced-motion:reduce){.ChatPanel_fail__QSqys,.ChatPanel_turn__g7_fi{transition:opacity .12s linear}.ChatPanel_typing__pq5nk i{animation:none;opacity:.6}}.ChatWindow_probe__MSGo4{position:fixed;left:0;top:var(--head-h);width:0;height:var(--dock-h);visibility:hidden;pointer-events:none}.ChatWindow_win__uegbE{position:absolute;z-index:50;overflow:hidden;background:var(--bg);color:var(--fg);border:2px solid var(--fg);box-shadow:6px 6px 0 rgba(13,19,32,.4);outline:none}.ChatWindow_label__PKoaQ{position:absolute;left:14px;top:8px;font-size:15px;font-weight:800;line-height:1.2;white-space:nowrap;color:#0d1320;opacity:1;transition:opacity .12s linear;pointer-events:none}.ChatWindow_win__uegbE[data-shown=true] .ChatWindow_label__PKoaQ{opacity:0}.ChatWindow_inner__yyt5s{position:absolute;left:0;top:0;display:flex;flex-direction:column;opacity:0;transition:opacity .1s linear}.ChatWindow_win__uegbE[data-shown=true] .ChatWindow_inner__yyt5s{opacity:1;transition:opacity .2s var(--ease) .14s}.ChatWindow_head__iiJW3{flex:none;display:flex;align-items:center;gap:10px;padding:6px 4px 6px 12px;border-bottom:1px solid var(--line)}.ChatWindow_spacer__K5QT8{flex:1 1 auto}.ChatWindow_action__iuqD_{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;font-size:14px;font-weight:700;color:var(--mute);-webkit-tap-highlight-color:transparent}.ChatWindow_action__iuqD_:active{background:var(--soft)}.ChatWindow_close__pfzfC{width:44px;height:44px;display:grid;place-items:center;flex:none;-webkit-tap-highlight-color:transparent}.ChatWindow_close__pfzfC:active{background:var(--soft)}@media (hover:hover) and (pointer:fine){.ChatWindow_action__iuqD_:hover{color:var(--fg)}.ChatWindow_close__pfzfC:hover{background:var(--soft)}}@media (prefers-reduced-motion:reduce){.ChatWindow_inner__yyt5s,.ChatWindow_win__uegbE[data-shown=true] .ChatWindow_inner__yyt5s{transition:none}}.AvatarFigure_figure__rqLWH{--px:2;--sink:35;position:relative;width:calc(187px * var(--px));height:calc(179px * var(--px));margin-bottom:calc(var(--sink) * var(--px) * -1px);pointer-events:none}.AvatarFigure_hit__49eRd{position:absolute;inset:0;display:block;padding:0;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.AvatarFigure_hit__49eRd:focus-visible{outline:3px solid #fff;outline-offset:4px}.AvatarFigure_stage__KL7dZ{position:absolute;inset:0;display:block;perspective:1100px;perspective-origin:50% 40%}.AvatarFigure_rig__BgGNP{position:absolute;inset:0;display:block;transform-style:preserve-3d;transform-origin:50% 85%;will-change:transform}.AvatarFigure_layer__H9HGQ{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;-webkit-user-drag:none;user-select:none;max-width:none}.AvatarFigure_depth__sTbH4{transform:translateZ(calc(var(--i) * -3px))}.AvatarFigure_slab__cV5k_{transform:translate3d(calc(var(--px) * 3px),calc(var(--px) * 3px),-34px)}.AvatarFigure_front__Dvv8y{transform:translateZ(0)}.AvatarFigure_bubble__yLArY{position:absolute;z-index:2;white-space:nowrap;padding:8px 14px 9px;background:#fff;color:#0d1320;border:2px solid #0d1320;box-shadow:4px 4px 0 #0d1320;font-size:15px;font-weight:800;line-height:1.2;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;animation:AvatarFigure_pop__GP5is .5s var(--ease) 1.1s both;transform-origin:100% 100%}.AvatarFigure_bubble__yLArY:active{transform:scale(.96)}.AvatarFigure_bubble__yLArY[data-open=true]{visibility:hidden}.AvatarFigure_bubble__yLArY:after,.AvatarFigure_bubble__yLArY:before{content:"";position:absolute;width:0;height:0;border-style:solid;border-color:transparent}.AvatarFigure_bubble__yLArY:before{right:-14px;bottom:9px;border-width:8px 0 8px 14px;border-left-color:#0d1320}.AvatarFigure_bubble__yLArY:after{right:-9px;bottom:11px;border-width:6px 0 6px 10px;border-left-color:#fff}@keyframes AvatarFigure_pop__GP5is{0%{opacity:0;transform:translateY(8px) scale(.85)}}.AvatarFigure_hero__0Dt3m{--px:2}.AvatarFigure_hero__0Dt3m .AvatarFigure_bubble__yLArY{right:calc(100% - 187px * var(--px) * .5);top:calc(179px * var(--px) * .09)}.AvatarFigure_contact__Sjlbt{--px:2}.AvatarFigure_contact__Sjlbt .AvatarFigure_bubble__yLArY{right:calc(100% - 187px * var(--px) * .5);top:calc(179px * var(--px) * .09)}@media (min-width:900px) and (min-height:760px){.AvatarFigure_hero__0Dt3m{--px:3}}@media (min-width:1500px) and (min-height:980px){.AvatarFigure_hero__0Dt3m{--px:4}}@media (min-width:900px){.AvatarFigure_contact__Sjlbt{--px:2}}@media (max-width:640px){.AvatarFigure_contact__Sjlbt,.AvatarFigure_hero__0Dt3m{--px:1.5}.AvatarFigure_bubble__yLArY{font-size:14px;padding:6px 11px 7px}}@media (hover:hover) and (pointer:fine){.AvatarFigure_hit__49eRd:hover~.AvatarFigure_bubble__yLArY{transform:translateY(-2px)}.AvatarFigure_bubble__yLArY{transition:transform .25s var(--ease)}}@media (prefers-reduced-motion:reduce){.AvatarFigure_bubble__yLArY{animation:none}}.DataField_canvas__iP_Dk{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.Button_btn__sgFU2{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 20px;border:1.5px solid;font-size:15px;font-weight:700;line-height:1;letter-spacing:.005em;transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease)}.Button_btn__sgFU2:active{transform:scale(.97)}.Button_icon__WVTkW{flex:none;transition:transform .25s var(--ease)}@media (hover:hover) and (pointer:fine){.Button_btn__sgFU2:hover .Button_icon__WVTkW{transform:translateY(2px)}}.Button_solid__JQZP9{background:var(--fg);color:var(--bg);border-color:var(--fg)}@media (hover:hover) and (pointer:fine){.Button_solid__JQZP9:hover{background:var(--flag);border-color:var(--flag);color:#0d1320}}.Button_ghost__mZ9vJ{color:var(--fg)}@media (hover:hover) and (pointer:fine){.Button_ghost__mZ9vJ:hover{background:var(--fg);color:var(--bg)}}@media (hover:none){@media (hover:hover) and (pointer:fine){.Button_btn__sgFU2:hover .Button_icon__WVTkW{transform:none}}}.Contact_contact__bXlt6{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(340px,41vh,440px) var(--pad) calc(28px + var(--dock-h))}.Contact_scrim__1NmLO{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent 30%,color-mix(in srgb,var(--blue) 80%,transparent) 46%,var(--blue) 70%)}.Contact_grid__RWxFS{position:relative;z-index:2;display:grid;gap:40px clamp(32px,5vw,80px);align-items:end}.Contact_main__seC_C{display:grid;gap:28px;max-width:720px}.Contact_ctas__DmNpM{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.Contact_details__RcvyY{display:grid;border-top:1.5px solid var(--fg)}.Contact_details__RcvyY>div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:4px 18px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}.Contact_details__RcvyY dt{font-size:14px;font-weight:600;color:var(--mute)}.Contact_details__RcvyY dd{font-weight:700;overflow-wrap:anywhere}.Contact_email__DDMlh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.Contact_mail__YRzIs{font-size:clamp(16px,1.5vw,21px);font-weight:800;border-bottom:2px solid var(--flag)}@media (hover:hover) and (pointer:fine){.Contact_mail__YRzIs:hover{background:var(--flag);color:#0d1320}}.Contact_copy__Gd93W{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1.5px solid var(--fg);font-size:14px;font-weight:700;transition:background-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease)}@media (hover:hover) and (pointer:fine){.Contact_copy__Gd93W:hover{background:var(--fg);color:var(--bg)}}.Contact_copy__Gd93W:active{transform:scale(.97)}.Contact_icons____pq_{position:relative;flex:none;width:18px;height:18px}.Contact_icons____pq_>svg{position:absolute;inset:0;transition:opacity .15s var(--ease),transform .15s var(--ease),filter .15s var(--ease)}.Contact_copy__Gd93W[data-copied=true] .Contact_icons____pq_>svg:first-child,.Contact_icons____pq_>svg:last-child{opacity:0;transform:scale(.6);filter:blur(2px)}.Contact_copy__Gd93W[data-copied=true] .Contact_icons____pq_>svg:last-child{opacity:1;transform:none;filter:none}@media (prefers-reduced-motion:reduce){.Contact_icons____pq_>svg{transition:opacity .12s linear;transform:none!important;filter:none!important}}@media (hover:hover) and (pointer:fine){.Contact_plain__aJJTz:hover{border-bottom:2px solid var(--flag)}}.Contact_links__RgxRb{display:flex;flex-wrap:wrap;gap:6px 20px}.Contact_links__RgxRb a{display:inline-flex;align-items:center;gap:4px;border-bottom:2px solid transparent;transition:border-color .2s var(--ease)}.Contact_links__RgxRb a:focus-visible{border-bottom-color:var(--flag)}@media (hover:hover) and (pointer:fine){.Contact_links__RgxRb a:hover{border-bottom-color:var(--flag)}}.Contact_figure__loOgO{justify-self:end;align-self:end;margin-right:calc(var(--pad) * -1);margin-bottom:calc(-1 * clamp(40px, 6vw, 72px) - 1px);position:relative;z-index:3;pointer-events:none}.Contact_footer__FJBf_{position:relative;z-index:2;margin-top:clamp(40px,6vw,72px);padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}@media (min-width:900px){.Contact_grid__RWxFS{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}.Globe_canvas__v9FTP,.Globe_wrap__LfkCj{width:100%;height:100%}.Globe_canvas__v9FTP{color:var(--fg);font-family:var(--f-sans)}.Experience_experience__lW_Za{position:relative;background:var(--bg);color:var(--fg);border-top:1px solid var(--line)}.Experience_stage__zWPqg{display:grid;gap:40px;padding:clamp(72px,10vw,128px) var(--pad)}.Experience_title__fN7Ru{--wdth:82;font-size:clamp(40px,5.2vw,88px);max-width:12ch}:lang(ja) .Experience_title__fN7Ru,:lang(ko) .Experience_title__fN7Ru,:lang(zh) .Experience_title__fN7Ru{font-size:clamp(34px,4.2vw,68px);max-width:11em}.Experience_list___dbtU{position:relative;margin-top:clamp(24px,4vh,44px);padding-left:26px;display:grid}.Experience_list___dbtU:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:var(--line)}.Experience_item__hqxfD{position:relative;display:grid;grid-template-columns:11em minmax(0,1fr);gap:4px 18px;padding:10px 0}.Experience_item__hqxfD:before{content:"";position:absolute;left:-26px;top:17px;width:14px;height:14px;background:var(--bg);border:2px solid var(--fg);transition:background-color .3s var(--ease),border-color .3s var(--ease)}.Experience_item__hqxfD[data-place=glasgow]:before{border-color:var(--flag)}.Experience_item__hqxfD[data-active=true]:before{background:var(--flag);border-color:var(--flag)}.Experience_when__sj3QH{padding-top:3px;font-size:14px;font-weight:600;color:var(--mute)}.Experience_name__Ip2ds{font-size:clamp(18px,1.6vw,24px);font-weight:800;line-height:1.2;letter-spacing:-.005em}:lang(ja) .Experience_name__Ip2ds,:lang(ko) .Experience_name__Ip2ds,:lang(zh) .Experience_name__Ip2ds{letter-spacing:0}.Experience_role__uUA8R{margin-top:2px;font-size:16px;font-weight:600}.Experience_more__O5VWw{display:grid;grid-template-rows:1fr}.Experience_more__O5VWw>p{max-width:52ch;margin-top:6px;color:var(--mute);overflow:hidden}:lang(ja) .Experience_more__O5VWw>p,:lang(zh) .Experience_more__O5VWw>p{max-width:34em}.Experience_globe__ZIFBY{height:min(460px,92vw)}@media (min-width:900px) and (min-height:720px) and (prefers-reduced-motion:no-preference){.Experience_stage__zWPqg{height:100svh;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);padding-top:calc(var(--head-h) + 20px);padding-bottom:28px}.Experience_globe__ZIFBY{height:100%;max-height:820px}.Experience_item__hqxfD{padding:7px 0}.Experience_item__hqxfD:before{top:13px}.Experience_name__Ip2ds{color:var(--mute);transition:color .3s var(--ease)}.Experience_item__hqxfD[data-active=true] .Experience_name__Ip2ds{color:var(--fg)}.Experience_more__O5VWw{grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.Experience_more__O5VWw>p{margin-top:0;transition:margin-top .5s var(--ease),opacity .4s var(--ease);opacity:0}.Experience_item__hqxfD[data-active=true] .Experience_more__O5VWw{grid-template-rows:1fr}.Experience_item__hqxfD[data-active=true] .Experience_more__O5VWw>p{margin-top:6px;opacity:1}}@media (max-width:640px){.Experience_item__hqxfD{grid-template-columns:1fr}}.Hero_hero__aqFk1{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--head-h) + 24px) var(--pad) clamp(24px,4.5vh,48px);overflow:hidden}.Hero_scrim__LvZ7I{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent 62%,color-mix(in srgb,var(--blue) 78%,transparent) 80%,var(--blue) 100%)}.Hero_figure__I3EMc{position:absolute;z-index:2;right:0;bottom:0}.Hero_copy__p6zIi{position:relative;z-index:2;max-width:min(58%,48em)}.Hero_school__WLf1C{margin-bottom:10px;font-size:clamp(18px,1.7vw,26px);font-weight:800;line-height:1.25}.Hero_degree__YR2Y9{--wdth:82;font-size:clamp(36px,4.8vw,78px);max-width:16ch}:lang(ja) .Hero_degree__YR2Y9,:lang(ko) .Hero_degree__YR2Y9,:lang(zh) .Hero_degree__YR2Y9{font-size:clamp(32px,4.2vw,68px);max-width:12em}:lang(ja) .Hero_degree__YR2Y9{font-size:clamp(28px,3.4vw,54px);max-width:16em;word-break:auto-phrase}.Hero_sub__yHYtO{margin-top:18px;max-width:58ch;font-size:17px;color:var(--mute)}:lang(ja) .Hero_sub__yHYtO,:lang(zh) .Hero_sub__yHYtO{max-width:34em}.Hero_ctas__8g8wH{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.Hero_fallback__Zaxls{display:none;position:absolute;z-index:0;left:var(--pad);top:28%;font-size:clamp(72px,17vw,260px);--wdth:70}.Hero_hero__aqFk1[data-gl=failed] .Hero_fallback__Zaxls{display:block}@media (max-width:860px){.Hero_copy__p6zIi{max-width:none}.Hero_figure__I3EMc{right:0}.Hero_scrim__LvZ7I{background:linear-gradient(to bottom,transparent 40%,color-mix(in srgb,var(--blue) 80%,transparent) 62%,var(--blue) 100%)}}@media (min-width:861px) and (max-height:820px){.Hero_copy__p6zIi{max-width:min(60%,54em)}.Hero_degree__YR2Y9{max-width:none;font-size:clamp(30px,min(3.8vw,7.4vh),56px)}:lang(ko) .Hero_degree__YR2Y9,:lang(zh) .Hero_degree__YR2Y9{font-size:clamp(30px,min(3.6vw,7.4vh),54px)}:lang(ja) .Hero_degree__YR2Y9{font-size:clamp(26px,min(3vw,6.6vh),48px)}.Hero_sub__yHYtO{margin-top:12px;max-width:64ch}.Hero_ctas__8g8wH{margin-top:16px}}.Hero_stage__aJXs_{display:contents}.Hero_caption__RuImW{display:none}@media (max-width:640px){.Hero_hero__aqFk1{justify-content:flex-start;padding-top:0;padding-bottom:calc(32px + var(--dock-h))}.Hero_stage__aJXs_{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:max(calc(100svh - var(--dock-h)),700px);margin:0 calc(var(--pad) * -1);border-bottom:2px solid #fff;overflow:hidden}.Hero_figure__I3EMc{position:relative;right:auto;bottom:auto}.Hero_copy__p6zIi{padding-top:28px}.Hero_title__Sv0Wk{display:none}.Hero_caption__RuImW{position:absolute;left:var(--pad);bottom:40px;z-index:3;display:grid;gap:6px;width:min(150px,38vw);font-size:14px;font-weight:800;line-height:1.25;text-wrap:balance}.Hero_captionDegree__wQ_5s{--wdth:82;font-size:24px;line-height:1}:lang(ja) .Hero_captionDegree__wQ_5s,:lang(ko) .Hero_captionDegree__wQ_5s,:lang(zh) .Hero_captionDegree__wQ_5s{font-size:20px;line-height:1.2;letter-spacing:0}.Hero_scrim__LvZ7I{display:none}}.CarbonLoop_wrap__9P5u3{display:grid;gap:18px;width:100%}.CarbonLoop_legend__5zvHv{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:15px;font-weight:600}.CarbonLoop_legend__5zvHv li{display:inline-flex;align-items:center;gap:10px}.CarbonLoop_swatchFlag__FoH4G,.CarbonLoop_swatchInk__X5Va8{width:18px;height:4px;display:block}.CarbonLoop_swatchFlag__FoH4G{background:var(--flag)}.CarbonLoop_swatchInk__X5Va8{background:var(--fg)}.CarbonLoop_canvas__x77ww{width:100%;height:clamp(220px,34vh,360px);color:var(--fg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.CarbonLoop_controls__0iI7p{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.CarbonLoop_switch__foz_8{display:inline-flex;align-items:stretch;border:1.5px solid var(--fg)}.CarbonLoop_switchLabel__ghCM0{display:inline-flex;align-items:center;padding:0 14px;font-size:15px;font-weight:600;border-right:1.5px solid var(--fg)}.CarbonLoop_poke__aAWgi,.CarbonLoop_switch__foz_8 button{min-height:44px;padding:0 18px;font-size:15px;font-weight:700;transition:background-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease)}.CarbonLoop_switch__foz_8 button+button{border-left:1.5px solid var(--fg)}.CarbonLoop_switch__foz_8 button[aria-pressed=true]{background:var(--fg);color:var(--bg)}@media (hover:hover) and (pointer:fine){.CarbonLoop_switch__foz_8 button:not([aria-pressed=true]):hover{background:var(--soft)}}.CarbonLoop_poke__aAWgi{border:1.5px solid var(--fg)}@media (hover:hover) and (pointer:fine){.CarbonLoop_poke__aAWgi:hover{background:var(--flag);border-color:var(--flag);color:#0d1320}}.CarbonLoop_poke__aAWgi:active,.CarbonLoop_switch__foz_8 button:active{transform:scale(.97)}.ForestVote_wrap__jvnNh{display:grid;gap:16px;width:100%}.ForestVote_svg__rvDBY{width:100%;height:auto;overflow:visible}.ForestVote_branch___jHJz,.ForestVote_hot__hUmYx{fill:none;stroke-linecap:square;stroke-dasharray:1;stroke-dashoffset:1;animation:ForestVote_grow__Ksm1m .7s var(--ease) forwards;animation-delay:calc(var(--i, 0) * 70ms)}.ForestVote_branch___jHJz{stroke:var(--fg);stroke-width:1.5;opacity:.5}.ForestVote_hot__hUmYx{stroke:var(--flag);stroke-width:3}@keyframes ForestVote_grow__Ksm1m{to{stroke-dashoffset:0}}.ForestVote_bar__sPCUu{fill:var(--fg);transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);animation:ForestVote_rise__v1AvQ .55s var(--ease) forwards;animation-delay:calc(var(--i, 0) * 70ms + .52s)}@keyframes ForestVote_rise__v1AvQ{to{transform:scaleY(1)}}.ForestVote_mean__7ODJo{stroke:var(--flag);stroke-width:3;stroke-dasharray:8 6;opacity:0;animation:ForestVote_show__es8DG .4s var(--ease) 1.5s forwards}@keyframes ForestVote_show__es8DG{to{opacity:1}}.ForestVote_base__skzUa{stroke:var(--line);stroke-width:1.5}.ForestVote_row__7UFGA{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.ForestVote_caption__zisea{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:15px;font-weight:600}.ForestVote_keyBar__Esplr,.ForestVote_keyMean__kt5N3{display:inline-block}.ForestVote_keyBar__Esplr{width:10px;height:18px;background:var(--fg)}.ForestVote_keyMean__kt5N3{width:22px;height:0;border-top:3px dashed var(--flag);margin-left:14px}.ForestVote_again__Wfzno{min-height:44px;padding:0 18px;border:1.5px solid var(--fg);font-size:15px;font-weight:700;transition:background-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease)}@media (hover:hover) and (pointer:fine){.ForestVote_again__Wfzno:hover{background:var(--flag);border-color:var(--flag);color:#0d1320}}.ForestVote_again__Wfzno:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.ForestVote_branch___jHJz,.ForestVote_hot__hUmYx{stroke-dashoffset:0}.ForestVote_bar__sPCUu{transform:none}.ForestVote_mean__7ODJo{opacity:1}}.FacultyFlow_wrap__w2H7S{position:relative;width:100%;padding-top:8px}.FacultyFlow_flow__j7vUZ{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.FacultyFlow_stage__EWWZG{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.FacultyFlow_stage__EWWZG:not(:last-child):after{content:"";position:absolute;top:38px;left:calc(50% + 40px);right:calc(-50% + 40px);height:0;border-top:2px dashed var(--line)}.FacultyFlow_box__b73EV{position:relative;z-index:1;width:76px;height:76px;display:grid;place-items:center;border:2px solid var(--fg);background:var(--bg);animation:FacultyFlow_lit__cDr6N 8s linear infinite;animation-delay:calc(var(--i) * 2.667s - .8s)}@keyframes FacultyFlow_lit__cDr6N{0%,14%{background:var(--flag);border-color:var(--flag);color:#0d1320}15%,to{background:var(--bg)}}.FacultyFlow_label__xkR1Q{max-width:14ch;font-size:15px;font-weight:700;line-height:1.3}:lang(ja) .FacultyFlow_label__xkR1Q,:lang(ko) .FacultyFlow_label__xkR1Q,:lang(zh) .FacultyFlow_label__xkR1Q{max-width:9em}.FacultyFlow_token__ViHOP{position:absolute;z-index:2;top:38px;left:12.5%;width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--flag);box-shadow:0 0 0 4px color-mix(in srgb,var(--flag) 28%,transparent);animation:FacultyFlow_walk__4fE3A 8s linear infinite}@keyframes FacultyFlow_walk__4fE3A{0%{left:12.5%;opacity:0}4%{opacity:1}96%{opacity:1}to{left:87.5%;opacity:0}}@media (max-width:640px){.FacultyFlow_flow__j7vUZ{grid-template-columns:1fr;gap:22px}.FacultyFlow_stage__EWWZG{flex-direction:row;text-align:left;gap:18px}.FacultyFlow_stage__EWWZG:not(:last-child):after,.FacultyFlow_token__ViHOP{display:none}}@media (prefers-reduced-motion:reduce){.FacultyFlow_token__ViHOP{display:none}.FacultyFlow_box__b73EV{animation:none}}.Projects_projects__b7OpA{position:relative;background:var(--bg);color:var(--fg);--gap:clamp(24px,4vw,72px)}.Projects_head__0CvlA{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 48px;padding:clamp(72px,10vw,140px) var(--pad) clamp(28px,4vw,48px);border-top:1px solid var(--line)}.Projects_heading__zkfdY{--wdth:76;font-size:clamp(72px,15vw,240px);line-height:.82;margin-bottom:-.04em}.Projects_plate__zKYbJ{position:relative;background:var(--bg);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:36px;align-items:center;padding:clamp(48px,7vw,96px) var(--pad);scroll-margin-top:var(--head-h)}.Projects_copy__X_MGA{grid-column:1/-1}.Projects_figure__khe1x{grid-column:1/-1;display:grid;gap:14px;margin:0}.Projects_title__1Fc1C{--wdth:88;font-size:clamp(34px,4.4vw,70px);margin-bottom:clamp(18px,2.4vw,32px);max-width:16ch}:lang(ja) .Projects_title__1Fc1C,:lang(ko) .Projects_title__1Fc1C,:lang(zh) .Projects_title__1Fc1C{font-size:clamp(30px,3.5vw,56px);max-width:14em}.Projects_kind__b4KLI{margin-bottom:14px;font-size:15px;font-weight:700;color:var(--accent-text)}.Projects_body__wqtFm{display:grid;gap:12px;max-width:48ch;color:var(--mute)}.Projects_body__wqtFm li{position:relative;padding-left:20px}.Projects_body__wqtFm li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;background:var(--flag)}:lang(ja) .Projects_body__wqtFm,:lang(zh) .Projects_body__wqtFm{max-width:34em}:lang(ko) .Projects_body__wqtFm{max-width:38em}.Projects_meta__uAAzu{display:grid;gap:14px;margin-top:clamp(22px,3vw,34px);padding-top:20px;border-top:1px solid var(--line);max-width:52ch}.Projects_meta__uAAzu>div{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:12px;align-items:baseline}.Projects_meta__uAAzu dt{font-size:14px;font-weight:600;color:var(--mute)}.Projects_meta__uAAzu dd{font-weight:700}.Projects_tools__WLB4a{display:flex;flex-wrap:wrap;gap:8px}.Projects_tools__WLB4a li{padding:4px 10px;border:1.5px solid var(--fg);font-size:14px;font-weight:700;line-height:1.3}.Projects_note__I2FN6{font-size:14px;color:var(--mute)}@media (min-width:900px){.Projects_copy__X_MGA{grid-column:1/span 5}.Projects_figure__khe1x{grid-column:6/-1}.Projects_plate__zKYbJ[data-id=carbon] .Projects_figure__khe1x{grid-column:1/span 7;grid-row:1}.Projects_plate__zKYbJ[data-id=carbon] .Projects_copy__X_MGA{grid-column:8/-1;grid-row:1}.Projects_plate__zKYbJ[data-id=faculty]{align-content:center;row-gap:clamp(36px,7vh,72px)}.Projects_plate__zKYbJ[data-id=faculty] .Projects_copy__X_MGA{grid-column:1/span 7}.Projects_plate__zKYbJ[data-id=faculty] .Projects_figure__khe1x{grid-column:1/-1}.Projects_plate__zKYbJ[data-id=faculty] .Projects_meta__uAAzu{max-width:none;grid-template-columns:1fr 1.4fr;column-gap:40px}}@media (min-width:900px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.Projects_plate__zKYbJ{position:sticky;top:0;min-height:100svh;padding-top:calc(var(--head-h) + 28px);padding-bottom:40px;scroll-margin-top:0}}.AppIcon_icon__c04PA{display:block;flex:none;object-fit:cover;background:#f4f5f7}.AppIcon_squircle__NjAjH{border-radius:22.5%}.AppIcon_round__e3yAs{border-radius:50%}.AppIcon_mono__5CxPF{display:grid;place-items:center;background:transparent;border:1.5px solid;font-weight:900;line-height:1}.PhoneShots_wrap__26yPZ{display:grid;justify-items:center;gap:16px;width:100%}.PhoneShots_phone___crAq{position:relative;width:300px;max-width:100%;aspect-ratio:9/18.4;padding:11px;border-radius:46px;background:#080a12;border:1.5px solid rgba(255,255,255,.28)}.PhoneShots_screen__ER8OB{position:relative;width:100%;height:100%;overflow:hidden;border-radius:36px;background:#f4efe9;display:grid;place-items:center}.PhoneShots_track__W8IqS{position:absolute;inset:0;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y}.PhoneShots_track__W8IqS::-webkit-scrollbar{display:none}.PhoneShots_slide__SIhy2{flex:none;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always}.PhoneShots_slide__SIhy2 img{width:100%;height:100%;object-fit:cover;object-position:center;-webkit-user-drag:none}.PhoneShots_icon__sXIit{width:44%;height:auto;border-radius:22.5%}.PhoneShots_island__aty77{position:absolute;top:20px;left:50%;width:28%;height:22px;transform:translateX(-50%);border-radius:12px;background:#080a12}.PhoneShots_dots__Cb5bL{display:flex;gap:4px}.PhoneShots_dot__nNIGC{position:relative;width:28px;height:44px}.PhoneShots_dot__nNIGC:after{content:"";position:absolute;left:10px;top:18px;width:8px;height:8px;background:var(--fg);opacity:.35;transition:opacity .2s var(--ease),transform .2s var(--ease)}.PhoneShots_dot__nNIGC[aria-selected=true]:after{opacity:1;background:var(--flag);transform:scale(1.25)}.AppTiles_tiles__ASt1d{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 8px}.AppTiles_tile__z_zsy{width:100%;min-height:44px;display:grid;justify-items:center;align-content:start;gap:8px;padding:4px 0;transition:transform .14s var(--ease)}.AppTiles_tile__z_zsy:active{transform:scale(.94)}.AppTiles_name__p7ubI{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.3;text-align:center}.AppTiles_detail__GQrQM{display:grid;gap:18px;padding-top:4px}.AppTiles_top__U2_ts{display:flex;gap:16px;align-items:center}.AppTiles_line__H0lnb{min-width:0;font-size:17px;line-height:1.45;color:var(--mute)}.AppTiles_meta__m3tKE{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:15px;font-weight:700}.AppTiles_meta__m3tKE li{display:inline-flex;align-items:center;gap:6px}.AppTiles_store__WzMFS{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;background:var(--fg);color:var(--bg);font-weight:800;transition:transform .12s var(--ease)}.AppTiles_store__WzMFS:active{transform:scale(.98)}@media (min-width:700px){.AppTiles_tiles__ASt1d{display:none}}.ReleaseLog_log__c_6CV{margin:0;display:grid;gap:22px}.ReleaseLog_caption__VzPUW{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px}.ReleaseLog_title__dmusY{font-size:18px;font-weight:800}.ReleaseLog_note__O87tb{font-size:14px;color:var(--mute)}.ReleaseLog_months__EuVNc{display:flex;align-items:flex-end;gap:6px;overflow-x:auto;padding:4px 2px 8px;border-bottom:1.5px solid var(--fg)}.ReleaseLog_month__IABTs{flex:1 0 52px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;min-height:150px}.ReleaseLog_stack__fGRcZ{display:flex;flex-direction:column-reverse;gap:4px}.ReleaseLog_square__tIIAc{position:relative;display:block;line-height:0;transition:transform .18s var(--ease)}.ReleaseLog_square__tIIAc:focus-visible{transform:translateY(-3px)}@media (hover:hover) and (pointer:fine){.ReleaseLog_square__tIIAc:hover{transform:translateY(-3px)}}.ReleaseLog_label__ir_N_{font-size:13px;font-weight:600;color:var(--mute);white-space:nowrap;padding-bottom:6px}.Shelf_shelf__C__LO{position:relative;padding:clamp(72px,10vw,140px) var(--pad) clamp(64px,8vw,112px);display:grid;gap:clamp(56px,8vw,112px)}.Shelf_head__uzwZW{display:grid;gap:24px 48px;align-items:end}.Shelf_heading__QCX95{--wdth:78;font-size:clamp(54px,10.5vw,168px);line-height:.86;max-width:11ch}:lang(ja) .Shelf_heading__QCX95,:lang(ko) .Shelf_heading__QCX95,:lang(zh) .Shelf_heading__QCX95{font-size:clamp(44px,8vw,128px);max-width:9em;line-height:1.1}.Shelf_headSide__4e47q{display:grid;gap:18px;max-width:34ch}.Shelf_intro__36ymq{color:var(--mute)}.Shelf_links__FgpCS{display:flex;flex-wrap:wrap;gap:8px 22px}.Shelf_link__bGSgy{display:inline-flex;align-items:center;gap:6px;font-weight:700;padding-bottom:3px;border-bottom:2px solid var(--flag);transition:background-color .15s var(--ease),color .15s var(--ease)}@media (hover:hover) and (pointer:fine){.Shelf_link__bGSgy:hover{background:var(--flag);color:#0d1320}}.Shelf_feature__gPPPJ{display:grid;gap:40px;align-items:center}.Shelf_featureTitle__aSJfl{display:flex;align-items:center;gap:18px;margin-bottom:22px}.Shelf_featureName__6J22G{--wdth:88;font-size:clamp(36px,5vw,76px)}:lang(ja) .Shelf_featureName__6J22G,:lang(ko) .Shelf_featureName__6J22G,:lang(zh) .Shelf_featureName__6J22G{font-size:clamp(30px,3.8vw,56px)}.Shelf_featureTagline__tMbEu{max-width:40ch;font-size:clamp(19px,1.8vw,24px);line-height:1.4;font-weight:600}:lang(ja) .Shelf_featureTagline__tMbEu,:lang(ko) .Shelf_featureTagline__tMbEu,:lang(zh) .Shelf_featureTagline__tMbEu{max-width:28em;line-height:1.6}.Shelf_points__pW9EM{display:grid;gap:12px;margin-top:24px;max-width:52ch;color:var(--mute)}.Shelf_points__pW9EM li{position:relative;padding-left:22px}.Shelf_points__pW9EM li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--flag)}.Shelf_featureLinks___py86{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px}.Shelf_btn__DRqc7{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;background:var(--fg);color:var(--bg);font-weight:700;transition:background-color .18s var(--ease),color .18s var(--ease),transform .12s var(--ease)}@media (hover:hover) and (pointer:fine){.Shelf_btn__DRqc7:hover{background:var(--flag);color:#0d1320}}.Shelf_btn__DRqc7:active{transform:scale(.97)}.Shelf_featureMedia__Q9_wt{display:flex;justify-content:center}.Shelf_wall__M6efk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:1px;background:var(--line);border:1px solid var(--line)}.Shelf_cell__Xq4FL{background:var(--bg);min-width:0}.Shelf_cellLink__kPb61{height:100%;min-height:218px;display:flex;flex-direction:column;gap:8px;padding:18px;transition:background-color .2s var(--ease)}.Shelf_cellLink__kPb61:focus-visible{background:var(--soft)}@media (hover:hover) and (pointer:fine){.Shelf_cellLink__kPb61:hover{background:var(--soft)}}.Shelf_cellTop__ZzFng{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.Shelf_out__O2nHB{flex:none;opacity:.6;transition:transform .25s var(--ease),opacity .25s var(--ease)}.Shelf_cellLink__kPb61:focus-visible .Shelf_out__O2nHB{opacity:1;transform:translate(2px,-2px)}@media (hover:hover) and (pointer:fine){.Shelf_cellLink__kPb61:hover .Shelf_out__O2nHB,.Shelf_wideHead__opl7y:hover .Shelf_out__O2nHB{opacity:1;transform:translate(2px,-2px)}}.Shelf_cellName__c5WHa{font-size:19px;font-weight:800;line-height:1.15;letter-spacing:-.005em}.Shelf_cellLine__45KRs{font-size:14px;line-height:1.45;color:var(--mute)}.Shelf_cellFoot__Z136L{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--mute)}.Shelf_platforms__osbhI{display:flex;gap:8px;color:var(--fg)}.Shelf_wide__9kIYt{grid-column:1/-1}.Shelf_wideInner__syDnj{height:100%;display:grid;gap:22px;align-content:start;padding:22px 20px 24px}.Shelf_wideHead__opl7y{display:flex;align-items:center;gap:16px}.Shelf_wideHead__opl7y>span{flex:1;min-width:0}.Shelf_wideName__3SqOO{display:block;font-size:clamp(28px,3vw,44px);--wdth:90}.Shelf_wideTag__uDWBw{display:block;margin-top:6px;font-size:14px;line-height:1.4;color:var(--mute)}.Shelf_widePoints__P1yVz{display:grid;gap:10px;font-size:14px;line-height:1.5;color:var(--mute)}.Shelf_widePoints__P1yVz li{position:relative;padding-left:18px}.Shelf_widePoints__P1yVz li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--flag)}.Shelf_flowTitle__Rjfpn{font-size:14px;font-weight:700;margin-bottom:12px}.Shelf_steps__V66ZN{display:grid;gap:8px}.Shelf_steps__V66ZN li{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;padding:8px 10px;border:1.5px solid var(--line)}.Shelf_stepNo__Y_dJI{width:22px;height:22px;display:grid;place-items:center;flex:none;background:var(--fg);color:var(--bg);font-size:12px;font-weight:800}.Shelf_all__3anZE{grid-column:1/-1}.Shelf_allLink__6OOwp{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:112px;padding:18px 20px;transition:background-color .2s var(--ease),color .2s var(--ease)}.Shelf_allText__mcj9o{font-size:clamp(24px,3.4vw,44px);--wdth:90}.Shelf_allLink__6OOwp:focus-visible{background:var(--flag);color:#0d1320}@media (hover:hover) and (pointer:fine){.Shelf_allLink__6OOwp:hover{background:var(--flag);color:#0d1320}}@media (max-width:699px){.Shelf_wall__M6efk{grid-template-columns:1fr}.Shelf_wall__M6efk>.Shelf_cell__Xq4FL:not(.Shelf_wide__9kIYt){display:none}}@media (min-width:700px){.Shelf_wall__M6efk{grid-template-columns:repeat(3,minmax(0,1fr))}.Shelf_all__3anZE{grid-column:span 2}}@media (min-width:900px){.Shelf_head__uzwZW{grid-template-columns:minmax(0,1fr) minmax(0,300px)}.Shelf_feature__gPPPJ{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}.Shelf_featureMedia__Q9_wt{justify-content:flex-end;padding-right:clamp(0px,4vw,64px)}}@media (min-width:1000px){.Shelf_wall__M6efk{grid-template-columns:repeat(4,minmax(0,1fr))}.Shelf_wide__9kIYt{grid-column:span 2;grid-row:span 2}.Shelf_all__3anZE{grid-column:1/-1}}@media (min-width:1360px){.Shelf_wall__M6efk{grid-template-columns:repeat(5,minmax(0,1fr))}}.Skills_skills__mj4YT{position:relative;background:var(--bg);color:var(--fg);border-top:1px solid var(--line);padding:clamp(72px,10vw,140px) var(--pad) clamp(64px,9vw,120px)}.Skills_head__gqPNq{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 48px;margin-bottom:clamp(36px,6vw,72px)}.Skills_heading__0asIh{--wdth:78;font-size:clamp(64px,12vw,190px);line-height:.84}.Skills_group__Qab6b{display:grid;gap:8px 32px;padding-top:18px;border-top:1.5px solid var(--fg)}.Skills_group__Qab6b+.Skills_group__Qab6b{margin-top:clamp(22px,3vw,40px)}.Skills_groupName__jrbt_{font-size:15px;font-weight:700;color:var(--mute)}.Skills_list__I_1IW{display:grid}.Skills_row__OqnOs{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 32px;padding:6px 0 10px;border-bottom:1px solid var(--line);outline-offset:-2px}.Skills_name__e5UuR{--wdth:70;font-size:clamp(48px,8.5vw,132px);line-height:.95;transition:font-variation-settings .55s var(--ease),color .3s var(--ease)}:lang(ja) .Skills_name__e5UuR,:lang(ko) .Skills_name__e5UuR,:lang(zh) .Skills_name__e5UuR{letter-spacing:-.025em;line-height:.95;font-weight:900;font-variation-settings:"wdth" var(--wdth,100)}.Skills_used__IOGkE{flex:1 1 260px;max-width:40ch;font-size:15px;line-height:1.5;color:var(--mute)}.Skills_usedLabel__8A_sh{display:block;margin-bottom:2px;font-weight:700;color:var(--fg)}.Skills_languages__w_N6k{display:grid;gap:6px;padding-bottom:6px;font-size:clamp(18px,1.6vw,24px);font-weight:700;line-height:1.35}@media (hover:hover) and (pointer:fine){.Skills_used__IOGkE{opacity:0;transform:translateX(-10px);transition:opacity .35s var(--ease),transform .5s var(--ease)}.Skills_list__I_1IW:focus-within .Skills_row__OqnOs:not(:focus-within),.Skills_list__I_1IW:hover .Skills_row__OqnOs:not(:hover){opacity:.3}.Skills_row__OqnOs{transition:opacity .3s var(--ease)}.Skills_row__OqnOs:focus-visible .Skills_name__e5UuR,.Skills_row__OqnOs:focus-within .Skills_name__e5UuR,.Skills_row__OqnOs:hover .Skills_name__e5UuR{--wdth:125;color:var(--accent-text)}.Skills_row__OqnOs:focus-visible .Skills_used__IOGkE,.Skills_row__OqnOs:focus-within .Skills_used__IOGkE,.Skills_row__OqnOs:hover .Skills_used__IOGkE{opacity:1;transform:none}}