:root{--color-bg:#15181d;--color-text:#fff;--color-text-muted:#8b929a;--color-accent:#0066fc;--color-surface:#fff;--color-tag-bg:#4b4b4b;--color-tag-border:#747474;--color-period-ended:#9b9b9b;--color-dot-ended:#aaa;--color-title-line:#ffffffb3;--font-body:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display:"Montserrat", var(--font-body);--shell-max-width:1300px;--content-max-width:1140px;--nav-width:calc(var(--shell-max-width) - var(--content-max-width));--content-indent:56px;--shell-padding:24px;--shell-offset:max(var(--shell-padding), calc((100vw - var(--shell-max-width)) / 2));--header-height:64px;--nav-top:160px;--section-start-offset:100px;--introduce-start-offset:160px;--section-title-col:200px;--section-col-gap:32px;--section-title-line-width:calc(var(--section-title-col) + var(--section-col-gap) - 8px);--section-body-max-width:850px;--section-body-offset:80px;--experience-rail-width:236px;--color-overlay:#06080cc7;--color-modal-bg:#15181d;--color-modal-aside:#00000038;--color-modal-line:#ffffff14;--color-modal-control:#ffffff2e;--color-modal-chip:#ffffff0a;--color-code-bg:#0c0f14;--color-code-text:#e8eaee;--color-token-string:#b6e07a;--color-token-comment:#6b7480}[data-theme=light]{--color-bg:#fff;--color-text:#15181d;--color-text-muted:#6b7280;--color-accent:#0066fc;--color-surface:#e8eaee;--color-tag-bg:#eef0f2;--color-tag-border:#c5c9ce;--color-period-ended:#6b7280;--color-dot-ended:#9aa0a6;--color-title-line:#15181d59;--color-overlay:#15181d73;--color-modal-bg:#fff;--color-modal-aside:#f4f6f8;--color-modal-line:#15181d1a;--color-modal-control:#15181d29;--color-modal-chip:#f4f6f8;--color-code-bg:#f3f5f8;--color-code-text:#15181d;--color-token-string:#3d7a1a;--color-token-comment:#6b7280}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1em;line-height:1.6;transition:color .22s,background-color .22s}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;transition:color .22s,border-color .22s,opacity .22s}a{color:inherit;text-decoration:none;transition:color .22s,border-color .22s,opacity .22s}@media (width<=768px){:root{--shell-padding:16px;--header-height:56px;--section-body-offset:24px;--content-indent:0px}}._desktopNav_1tz8i_1{top:var(--nav-top);z-index:100;pointer-events:none;position:fixed;left:0;right:0}._shell_1tz8i_10{width:100%;max-width:var(--shell-max-width);padding:0 var(--shell-padding);pointer-events:none;justify-content:flex-end;margin:0 auto;display:flex}._panel_1tz8i_20{pointer-events:auto;flex-direction:column;align-items:stretch;gap:28px;display:flex}._list_1tz8i_28{flex-direction:column;align-items:flex-start;gap:28px;margin:0;padding:0;list-style:none;display:flex}._list_1tz8i_28 button{font-family:var(--font-display);letter-spacing:0;color:var(--color-text);text-align:left;white-space:nowrap;border-bottom:1px solid #0000;padding-bottom:6px;font-size:.9375em;font-weight:500;transition:color .22s,border-color .22s,font-weight .22s;display:inline-grid}._navLabel_1tz8i_55,._navLabelSizer_1tz8i_56{grid-area:1/1}._navLabelSizer_1tz8i_56{visibility:hidden;font-weight:800}._list_1tz8i_28 button:hover{color:var(--color-text)}._list_1tz8i_28 button._active_1tz8i_69{color:var(--color-text);border-bottom-color:var(--color-text);font-weight:800}._themeButton_1tz8i_75{opacity:.9;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1em;line-height:1;transition:opacity .2s,box-shadow .2s;display:inline-flex;box-shadow:1px 0 11px #cfcfcf8c}[data-theme=light] ._themeButton_1tz8i_75{box-shadow:1px 0 15px #d1d1d1}._themeButton_1tz8i_75:hover{opacity:1}._scrollTopIcon_1tz8i_100{color:var(--color-text);display:block}._controls_1tz8i_105{align-items:center;gap:8px;display:flex}._panelFooter_1tz8i_111{flex-direction:column;align-items:flex-start;gap:14px;display:flex}._updated_1tz8i_118{font-family:var(--font-body);letter-spacing:.01em;color:var(--color-text-muted);white-space:nowrap;text-align:left;margin:0;font-size:.75em;font-weight:400;line-height:1.4}._mobileHeader_1tz8i_130,._mobileMenu_1tz8i_131{display:none}@media (width<=768px){._desktopNav_1tz8i_1{display:none}._mobileHeader_1tz8i_130{z-index:200;height:var(--header-height);padding:0 var(--shell-padding);background:color-mix(in srgb, var(--color-bg) 92%, transparent);border-bottom:1px solid var(--color-title-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}._logo_1tz8i_156{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text);font-size:1.0625em;font-weight:600}._mobileActions_1tz8i_164{align-items:center;gap:8px;display:flex}._hamburger_1tz8i_170{justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}._hamburger_1tz8i_170 span{background:var(--color-text);border-radius:999px;height:1.5px;transition:transform .2s,opacity .2s,top .2s;position:absolute;left:10px;right:10px}._hamburger_1tz8i_170 span:first-child{top:14px}._hamburger_1tz8i_170 span:nth-child(2){top:19px}._hamburger_1tz8i_170 span:nth-child(3){top:24px}._hamburgerOpen_1tz8i_204 span:first-child{top:19px;transform:rotate(45deg)}._hamburgerOpen_1tz8i_204 span:nth-child(2){opacity:0}._hamburgerOpen_1tz8i_204 span:nth-child(3){top:19px;transform:rotate(-45deg)}._mobileMenu_1tz8i_131{z-index:190;pointer-events:none;visibility:hidden;display:block;position:fixed;inset:0}._mobileMenuOpen_1tz8i_227{pointer-events:auto;visibility:visible}._mobileBackdrop_1tz8i_232{opacity:0;background:#00000073;transition:opacity .2s;position:absolute;inset:0}._mobileMenuOpen_1tz8i_227 ._mobileBackdrop_1tz8i_232{opacity:1}._mobilePanel_1tz8i_244{top:var(--header-height);padding:28px var(--shell-padding) 32px;background:var(--color-bg);border-bottom:1px solid var(--color-title-line);opacity:0;flex-direction:column;gap:28px;transition:transform .2s,opacity .2s;display:flex;position:absolute;left:0;right:0;transform:translateY(-8px)}._mobileMenuOpen_1tz8i_227 ._mobilePanel_1tz8i_244{opacity:1;transform:translateY(0)}._mobileList_1tz8i_267{gap:18px}._mobileList_1tz8i_267 button{text-align:left;font-size:1em}._mobileUpdated_1tz8i_276{text-align:left}}._section_8gpqq_1{padding-right:var(--shell-offset);padding-left:var(--shell-offset);padding-bottom:96px;display:flex}._center_8gpqq_8{align-items:stretch;min-height:100dvh;padding-bottom:24px}._center_8gpqq_8 ._inner_8gpqq_15{flex-direction:column;flex:1;min-height:calc(100dvh - 24px);display:flex;position:relative}._start_8gpqq_23{padding-top:var(--section-start-offset);align-items:flex-start}._introduceOffset_8gpqq_28{padding-top:var(--introduce-start-offset)}._last_8gpqq_32{box-sizing:border-box;align-items:stretch;min-height:100dvh;padding-bottom:0}._last_8gpqq_32 ._inner_8gpqq_15{flex-direction:column;flex:1;display:flex}._inner_8gpqq_15{width:100%;max-width:var(--shell-max-width);padding-left:var(--content-indent);padding-right:var(--nav-width);overflow-wrap:break-word;min-width:0;margin:0 auto}@media (width<=768px){._section_8gpqq_1{padding-bottom:64px}._center_8gpqq_8{padding-bottom:16px}._center_8gpqq_8 ._inner_8gpqq_15{min-height:calc(100dvh - 16px)}._inner_8gpqq_15{padding-right:0}._start_8gpqq_23{padding-top:calc(var(--header-height) + 24px)}._introduceOffset_8gpqq_28{padding-top:calc(var(--header-height) + 32px)}._last_8gpqq_32{min-height:calc(100dvh - var(--header-height))}}._header_tjzvj_1{z-index:10;pointer-events:none;position:absolute;top:0;left:0;right:0}._shell_tjzvj_10{width:100%;max-width:var(--shell-max-width);height:var(--header-height);padding:0 var(--shell-padding);pointer-events:auto;align-items:center;margin:0 auto;display:flex}._logo_tjzvj_21{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text);white-space:nowrap;font-size:1.125em;font-weight:600;transition:color .22s}._logo_tjzvj_21:hover{color:var(--color-accent)}@media (width<=768px){._header_tjzvj_1{display:none}}._heroSection_o5yuo_1{flex-direction:column;flex:1;width:100%;display:flex;position:relative}._hero_o5yuo_1{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding-bottom:6vh;display:flex;position:relative}._content_o5yuo_21{text-align:center;flex-direction:column;align-items:center;max-width:42rem;display:flex}._eyebrow_o5yuo_29{font-family:var(--font-display);letter-spacing:.04em;color:var(--color-accent);outline:none;margin:0 0 18px;font-size:1.25em;font-weight:600}._eyebrowText_o5yuo_39{white-space:pre}._caret_o5yuo_43{color:var(--color-accent);margin-left:2px;font-weight:400;animation:1s step-end infinite _caretBlink_o5yuo_1;display:inline-block}@keyframes _caretBlink_o5yuo_1{0%,45%{opacity:1}50%,to{opacity:0}}._name_o5yuo_62{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2.75rem,8vw,5.25rem);font-weight:800;line-height:1.05}._tagline_o5yuo_71{max-width:30rem;font-family:var(--font-body);color:var(--color-text-muted);word-break:keep-all;margin:28px 0 0;font-size:1.0625em;font-weight:400;line-height:1.7}._fadeItem_o5yuo_82{opacity:0;animation:.7s forwards _heroFadeIn_o5yuo_1;transform:translateY(14px)}._fadeItem_o5yuo_82[data-order="1"]{animation-delay:.12s}._fadeItem_o5yuo_82[data-order="2"]{animation-delay:.32s}._fadeItem_o5yuo_82[data-order="3"]{animation-delay:.52s}@keyframes _heroFadeIn_o5yuo_1{to{opacity:1;transform:translateY(0)}}._scrollHint_o5yuo_107{font-family:var(--font-display);letter-spacing:.28em;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:6px;font-size:.625em;font-weight:500;transition:color .22s;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}._scrollHint_o5yuo_107:hover{color:var(--color-text)}._chevron_o5yuo_128{animation:2s ease-in-out infinite _bounce_o5yuo_1}@keyframes _bounce_o5yuo_1{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (width<=768px){._hero_o5yuo_1{padding-bottom:10vh}._eyebrow_o5yuo_29{letter-spacing:.03em;margin-bottom:14px;font-size:1em}._name_o5yuo_62{font-size:clamp(2.25rem,12vw,2.75rem)}._tagline_o5yuo_71{margin-top:20px;padding:0 8px;font-size:.9375em;line-height:1.65}._scrollHint_o5yuo_107{font-size:.5625em;bottom:8px}}@media (prefers-reduced-motion:reduce){._fadeItem_o5yuo_82{opacity:1;animation:none;transform:none}._caret_o5yuo_43{opacity:1;animation:none}._chevron_o5yuo_128{animation:none}}._block_2rat0_1{grid-template-columns:var(--section-title-col) 1fr;gap:var(--section-col-gap);align-items:start;width:100%;display:grid}._heading_2rat0_9{flex-direction:column;align-items:flex-start;display:flex}._headingWithMeta_2rat0_15{width:var(--section-heading-meta-width,max-content);min-width:var(--section-title-line-width)}._titleRow_2rat0_20{justify-content:space-between;align-items:baseline;gap:12px;width:100%;display:flex}._headingWithMeta_2rat0_15 ._titleLine_2rat0_28{width:100%;max-width:none}._title_2rat0_20{font-family:var(--font-display);letter-spacing:.12em;font-size:1.125em;font-weight:600}._titleLine_2rat0_28{width:var(--section-title-line-width);max-width:var(--section-title-line-width);background:var(--color-title-line);flex-shrink:0;height:1px;display:block}._body_2rat0_49{max-width:var(--section-body-max-width);min-width:0;padding-top:var(--section-body-offset);color:var(--color-text);font-size:1em;line-height:1.85}._stack_2rat0_58{width:100%;max-width:var(--section-body-max-width);flex-direction:column;gap:48px;display:flex}._stack_2rat0_58 ._heading_2rat0_9{align-self:flex-start}._stack_2rat0_58 ._body_2rat0_49{width:100%;max-width:none;padding-top:0}@media (width<=768px){._block_2rat0_1{grid-template-columns:1fr;gap:12px}._title_2rat0_20{letter-spacing:.1em;font-size:.9375em}._titleLine_2rat0_28{width:140px;max-width:100%}._headingWithMeta_2rat0_15,._headingWithMeta_2rat0_15 ._titleLine_2rat0_28{width:100%}._body_2rat0_49{max-width:100%;padding-top:4px;font-size:.9375em;line-height:1.7}._stack_2rat0_58{gap:18px;max-width:100%}._stack_2rat0_58 ._body_2rat0_49{padding-top:0}}._introduce_1mwo3_1{width:100%;max-width:var(--section-body-max-width)}._profileRow_1mwo3_6{grid-template-columns:var(--section-title-col) 1fr;gap:var(--section-col-gap);align-items:start;display:grid}._imageWrap_1mwo3_13{width:var(--section-title-col)}._image_1mwo3_13,._imagePlaceholder_1mwo3_18{aspect-ratio:1102/1427;object-fit:cover;object-position:center top;box-sizing:border-box;border-radius:20px;width:100%;display:block;box-shadow:0 0 16px #86868638}._imagePlaceholder_1mwo3_18{background:var(--color-surface)}._profileInfo_1mwo3_33{flex-direction:column;gap:10px;padding-top:8px;display:flex}._name_1mwo3_40{font-family:var(--font-body);color:var(--color-text);font-size:2.375em;font-weight:600;line-height:1.2}._role_1mwo3_48{font-family:var(--font-body);color:var(--color-accent);font-size:1.25em;font-weight:700}._contacts_1mwo3_55{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}._contacts_1mwo3_55 li{color:var(--color-text);align-items:center;gap:10px;font-size:.9375em;display:flex}._contacts_1mwo3_55 a{color:var(--color-text)}._emailButton_1mwo3_76{font:inherit;color:var(--color-text);text-align:left;cursor:pointer;align-items:center;gap:8px;transition:color .22s;display:inline-flex}._emailButton_1mwo3_76:hover{color:var(--color-accent)}._copiedLabel_1mwo3_91{color:#fff;white-space:nowrap;font-size:.8125em;font-weight:500;transition:opacity .22s}._contentRow_1mwo3_99{margin-top:48px}._paragraphs_1mwo3_103{word-break:keep-all;flex-direction:column;gap:1.25rem;font-weight:500;display:flex}._lead_1mwo3_111{font-family:var(--font-body);font-size:1em;font-weight:600;line-height:inherit;letter-spacing:0;color:var(--color-text);margin:0}@media (width<=768px){._profileRow_1mwo3_6{text-align:center;grid-template-columns:1fr;justify-items:center;gap:18px}._imageWrap_1mwo3_13{width:128px}._image_1mwo3_13,._imagePlaceholder_1mwo3_18{border-radius:16px;box-shadow:0 8px 24px #00000047,0 2px 8px #0066fc2e}._profileInfo_1mwo3_33{align-items:center;gap:6px;width:100%;padding-top:0}._name_1mwo3_40{font-size:1.625em}._role_1mwo3_48{font-size:.9375em}._contacts_1mwo3_55{align-items:center;gap:6px;margin-top:4px}._contacts_1mwo3_55 li{justify-content:center;gap:8px;font-size:.8125em}._emailButton_1mwo3_76{text-align:center}._contentRow_1mwo3_99{margin-top:24px}._paragraphs_1mwo3_103{gap:.9rem}}._list_mm8jk_1{flex-direction:column;gap:85px;margin:0;padding:0;list-style:none;display:flex}._row_mm8jk_10{grid-template-columns:240px 1fr;align-items:start;gap:24px;display:grid}._category_mm8jk_17{font-family:var(--font-body);color:var(--color-text);font-size:1.1em;font-weight:600;line-height:25px}._tags_mm8jk_25{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}._tag_mm8jk_25{box-sizing:border-box;height:25px;font-family:var(--font-body);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:999px;align-items:center;padding:0 10px;font-size:.8125em;font-weight:400;line-height:1;display:inline-flex}@media (width<=768px){._list_mm8jk_1{gap:32px}._row_mm8jk_10{grid-template-columns:1fr;gap:8px}._category_mm8jk_17{font-size:.875em;line-height:22px}._tags_mm8jk_25{gap:8px}._tag_mm8jk_25{height:22px;padding:0 8px;font-size:.75em}}._experience_rh9hd_1{--section-heading-meta-width:var(--experience-rail-width);width:100%;max-width:var(--section-body-max-width)}._total_rh9hd_7{font-family:var(--font-body);color:var(--color-accent);white-space:nowrap;margin:0;font-size:.8125em;font-weight:600;line-height:1.125rem}._list_rh9hd_17{flex-direction:column;gap:64px;margin:0;padding:0;list-style:none;display:flex}._itemHead_rh9hd_26{grid-template-columns:var(--experience-rail-width) 1fr;align-items:start;gap:16px;display:grid}._periodRow_rh9hd_33{justify-content:flex-end;align-items:center;min-height:28px;display:flex}._period_rh9hd_33{font-family:var(--font-body);color:var(--color-text);white-space:nowrap;font-size:1em;font-weight:500;line-height:1.4}._periodEnded_rh9hd_49{font-family:var(--font-body);color:var(--color-period-ended);white-space:nowrap;font-size:.875em;font-weight:500;line-height:1.4}._companyRow_rh9hd_58{align-items:center;gap:10px;min-height:28px;display:flex}._dot_rh9hd_65{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}._dotEnded_rh9hd_73{background:var(--color-dot-ended)}._company_rh9hd_58{font-family:var(--font-body);color:var(--color-text);font-size:1.25em;font-weight:700;line-height:1.4}._scopes_rh9hd_85{font-family:var(--font-body);letter-spacing:.04em;color:var(--color-text);margin-top:4px;font-size:.875em;font-weight:400}._projects_rh9hd_94{padding:0 0 0 calc(var(--experience-rail-width) + 16px);flex-direction:column;gap:32px;margin:10px 0 0;list-style:none;display:flex}._projectTitle_rh9hd_103{font-family:var(--font-body);font-size:1.1em;font-weight:700;line-height:.5}._tags_rh9hd_110{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}._tag_rh9hd_110{box-sizing:border-box;height:20px;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-tag-bg);border:1px solid var(--color-tag-border);border-radius:13px;align-items:center;padding:0 10px;font-size:.8125em;font-weight:400;line-height:1;display:inline-flex}._highlights_rh9hd_135{font-family:var(--font-body);color:var(--color-text);word-break:keep-all;margin:12px 0 0;padding-left:1.15rem;font-size:1.0625em;font-weight:500;line-height:1.7;list-style:none}._highlights_rh9hd_135 li{position:relative}._highlights_rh9hd_135 li:before{content:"";background:var(--color-text);border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:-1rem}._highlights_rh9hd_135 li+li{margin-top:6px}@media (width<=768px){._experience_rh9hd_1{--section-heading-meta-width:100%}._total_rh9hd_7{font-size:.75em}._list_rh9hd_17{gap:36px}._itemHead_rh9hd_26{grid-template-columns:1fr;gap:6px}._periodRow_rh9hd_33{justify-content:flex-start;min-height:auto}._period_rh9hd_33{font-size:.8125em}._periodEnded_rh9hd_49{font-size:.75em}._companyRow_rh9hd_58{gap:8px;min-height:auto}._company_rh9hd_58{font-size:1.0625em}._scopes_rh9hd_85{font-size:.75em}._projects_rh9hd_94{gap:24px;margin-top:8px;padding-left:0}._projectTitle_rh9hd_103{margin:.8em 0;font-size:.975em}._tags_rh9hd_110{gap:3px;margin-top:8px}._tag_rh9hd_110{height:18px;padding:0 8px;font-size:.6875em}._highlights_rh9hd_135{margin-top:8px;font-size:1em;font-weight:500;line-height:1.6}._highlights_rh9hd_135 li+li{margin-top:4px}}._overlay_1sw7x_1{z-index:1000;background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:28px 16px;display:flex;position:fixed;inset:0}._modal_1sw7x_13{background:radial-gradient(ellipse 70% 45% at 0% 0%, #0066fc14, transparent 55%), var(--color-modal-bg);border:1px solid var(--color-modal-line);border-radius:16px;width:min(920px,100%);max-height:min(860px,100vh - 56px);position:relative;overflow:hidden;box-shadow:0 28px 80px #00000080}._close_1sw7x_26{z-index:2;width:36px;height:36px;color:var(--color-text);border:1px solid var(--color-modal-control);background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:color .22s,border-color .22s;display:inline-flex;position:absolute;top:14px;right:14px}._close_1sw7x_26:hover{border-color:var(--color-accent);color:var(--color-accent)}._layout_1sw7x_48{grid-template-columns:240px minmax(0,1fr);max-height:min(860px,100vh - 56px);display:grid}._aside_1sw7x_54{border-right:1px solid var(--color-modal-line);background:var(--color-modal-aside);flex-direction:column;gap:20px;padding:32px 24px;display:flex}._thumb_1sw7x_63{aspect-ratio:1;object-fit:cover;object-position:center;background:#fff;border-radius:16px;flex:none;width:100%;height:auto;display:block}._asideMeta_1sw7x_75{flex-direction:column;gap:14px;display:flex}._namespace_1sw7x_81{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text-muted);word-break:break-all;flex-direction:column;gap:2px;margin:0;font-size:.75em;font-weight:400;line-height:1.4;display:flex}._slugInline_1sw7x_95{color:var(--color-text);font-weight:600}._techText_1sw7x_100{font-family:var(--font-body);color:var(--color-text-muted);word-break:keep-all;margin:0;font-size:.8125em;font-weight:400;line-height:1.5}._asideLink_1sw7x_110{width:fit-content;font-family:var(--font-body);color:var(--color-accent);align-items:center;gap:8px;margin-top:4px;font-size:.8125em;font-weight:500;display:inline-flex}._asideLink_1sw7x_110:hover{text-underline-offset:3px;text-decoration:underline}._main_1sw7x_127{flex-direction:column;min-height:0;max-height:min(860px,100vh - 56px);display:flex;overflow-y:auto}._header_1sw7x_135{border-bottom:1px solid var(--color-modal-line);padding:36px 40px 24px}._eyebrow_1sw7x_140{font-family:var(--font-display);letter-spacing:.16em;color:var(--color-accent);margin:0;font-size:.6875em;font-weight:600}._title_1sw7x_149{font-family:var(--font-body);letter-spacing:-.02em;color:var(--color-text);margin-top:10px;font-size:2em;font-weight:700;line-height:1.2}._summary_1sw7x_159{max-width:48ch;font-family:var(--font-body);color:var(--color-text-muted);word-break:keep-all;margin-top:12px;font-size:.9375em;font-weight:400;line-height:1.65}._body_1sw7x_170{padding:28px 40px 8px}._paragraph_1sw7x_174{font-family:var(--font-body);color:var(--color-text);word-break:keep-all;font-size:.9375em;font-weight:400;line-height:1.75}._paragraph_1sw7x_174+._paragraph_1sw7x_174,._paragraph_1sw7x_174+._heading_1sw7x_184,._codeFigure_1sw7x_185+._heading_1sw7x_184,._list_1sw7x_186+._heading_1sw7x_184{margin-top:28px}._heading_1sw7x_184+._paragraph_1sw7x_174,._heading_1sw7x_184+._codeFigure_1sw7x_185,._heading_1sw7x_184+._list_1sw7x_186{margin-top:12px}._paragraph_1sw7x_174+._codeFigure_1sw7x_185,._paragraph_1sw7x_174+._list_1sw7x_186{margin-top:16px}._heading_1sw7x_184{border-left:3px solid var(--color-accent);font-family:var(--font-body);color:var(--color-text);margin:0;padding-left:12px;font-size:1.125em;font-weight:700;line-height:1.35}._codeFigure_1sw7x_185{margin:0}._code_1sw7x_185{color:var(--color-code-text);background:var(--color-code-bg);border:1px solid var(--color-modal-line);white-space:pre;border-radius:10px;margin:0;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78125em;line-height:1.65;overflow-x:auto}._code_1sw7x_185 code{font:inherit}._tokenKeyword_1sw7x_234{color:#0066fc}._tokenString_1sw7x_238{color:var(--color-token-string)}._tokenComment_1sw7x_242{color:var(--color-token-comment)}._codeNote_1sw7x_246{font-family:var(--font-body);color:var(--color-text-muted);margin-top:8px;font-size:.8125em;line-height:1.5}._list_1sw7x_186{font-family:var(--font-body);color:var(--color-text);word-break:keep-all;margin:0;padding:0;font-size:.9375em;line-height:1.7;list-style:none}._list_1sw7x_186 li{padding-left:14px;position:relative}._list_1sw7x_186 li:before{content:"";background:var(--color-accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.7em;left:0}._list_1sw7x_186 li+li{margin-top:10px}._list_1sw7x_186 strong{font-weight:700}._listSep_1sw7x_289{color:var(--color-text-muted);margin:0 6px}._inlineCode_1sw7x_294{color:var(--color-accent);background:#0066fc1a;border-radius:4px;padding:.1em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;display:inline}._footer_1sw7x_304{margin-top:auto;padding:20px 40px 32px}._links_1sw7x_309{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}._linkButton_1sw7x_318{height:34px;font-family:var(--font-body);color:var(--color-text);background:var(--color-modal-chip);border:1px solid var(--color-modal-control);border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:.8125em;font-weight:500;transition:color .22s,border-color .22s,background-color .22s;display:inline-flex}._linkButton_1sw7x_318:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=760px){._overlay_1sw7x_1{align-items:flex-end;padding:12px}._layout_1sw7x_48{grid-template-columns:1fr;max-height:none}._modal_1sw7x_13{border-radius:16px 16px 12px 12px;width:100%;max-height:calc(100dvh - 24px);overflow-y:auto}._aside_1sw7x_54{border-right:none;border-bottom:1px solid var(--color-modal-line);flex-direction:column;align-items:stretch;gap:14px;padding:52px 18px 16px}._thumb_1sw7x_63{aspect-ratio:1;width:120px;height:120px;margin:0 auto}._asideMeta_1sw7x_75{text-align:center;align-items:center;gap:8px;min-width:0}._namespace_1sw7x_81{align-items:center}._techText_1sw7x_100{word-break:keep-all;overflow-wrap:anywhere;max-width:100%;font-size:.75em}._asideLink_1sw7x_110{justify-content:center}._header_1sw7x_135{padding:20px 18px 16px}._title_1sw7x_149{padding-right:36px;font-size:1.5em}._summary_1sw7x_159{font-size:.875em}._body_1sw7x_170,._footer_1sw7x_304{padding-left:18px;padding-right:18px}._footer_1sw7x_304{padding-bottom:24px}._main_1sw7x_127{max-height:none;overflow:visible}._heading_1sw7x_184{font-size:1.0625em}._paragraph_1sw7x_174,._list_1sw7x_186{font-size:.875em}}._grid_anftr_1{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;width:100%;margin:0;padding:0;list-style:none;display:grid}._card_anftr_11{flex-direction:column;width:100%;min-width:0;display:flex}._cardInteractive_anftr_18{cursor:pointer}._cardInteractive_anftr_18:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}._thumbFrame_anftr_28{aspect-ratio:1;border-radius:20px;width:100%;height:auto;overflow:hidden}._cardInteractive_anftr_18:hover ._thumbnail_anftr_36,._cardInteractive_anftr_18:focus-visible ._thumbnail_anftr_36{transform:scale(1.08)}._thumbnail_anftr_36{object-fit:cover;background:var(--color-surface);transform-origin:50%;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:20px;width:100%;height:100%;transition:transform .48s;display:block;transform:scale(1)}._cardTitle_anftr_55{font-family:var(--font-body);color:var(--color-text);margin:16px 0 0;font-size:1.5em;font-weight:700;line-height:1.3}._cardSummary_anftr_64{font-family:var(--font-body);color:var(--color-text-muted);word-break:keep-all;margin:8px 0 0;font-size:.8125em;font-weight:400;line-height:1.5}._more_anftr_74{font-family:var(--font-body);color:var(--color-text-muted);align-self:flex-end;margin-top:16px;font-size:.8125em;font-weight:500;line-height:1.4;transition:color .22s}._cardInteractive_anftr_18:hover ._more_anftr_74,._cardInteractive_anftr_18:focus-visible ._more_anftr_74{color:var(--color-accent)}@media (width<=768px){._grid_anftr_1{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}._cardTitle_anftr_55{margin-top:12px;font-size:1.25em}._cardSummary_anftr_64{margin-top:6px;font-size:.875em}._more_anftr_74{margin-top:12px;font-size:.75em}}._page_15ocw_1{--section-heading-meta-width:var(--experience-rail-width);width:100%;max-width:var(--section-body-max-width);flex-direction:column;flex:1;display:flex}._sections_15ocw_10{flex-direction:column;gap:72px;width:100%;display:flex}._railMeta_15ocw_17{width:0;height:0;display:block;overflow:hidden}._list_15ocw_24{flex-direction:column;gap:28px;margin:0;padding:0;list-style:none;display:flex}._row_15ocw_33{grid-template-columns:var(--experience-rail-width) 1fr;align-items:start;gap:16px;display:grid}._periodCell_15ocw_40{justify-content:flex-end;align-items:center;min-height:1.4em;display:flex}._period_15ocw_40{font-family:var(--font-body);color:var(--color-period-ended);white-space:nowrap;font-size:.875em;font-weight:500;line-height:1.4}._content_15ocw_56{min-width:0}._itemTitle_15ocw_60{font-family:var(--font-body);color:var(--color-text);margin:0;font-size:1.125em;font-weight:700;line-height:1.4}._description_15ocw_69{font-family:var(--font-body);color:var(--color-text-muted);word-break:keep-all;margin:6px 0 0;font-size:.875em;font-weight:400;line-height:1.55}._footer_15ocw_79{width:100%;min-height:calc(60px + 1.4em);margin-top:auto;padding:32px 0 28px;position:relative}._copyright_15ocw_87{bottom:28px;left:calc(50vw - var(--shell-offset) - var(--content-indent));font-family:var(--font-body);color:var(--color-period-ended);white-space:nowrap;margin:0;font-size:.8125em;font-weight:400;line-height:1.4;position:absolute;transform:translate(-50%)}@media (width<=768px){._sections_15ocw_10{gap:36px}._list_15ocw_24{gap:20px}._row_15ocw_33{grid-template-columns:1fr;gap:4px}._periodCell_15ocw_40{justify-content:flex-start}._period_15ocw_40{font-size:.75em}._itemTitle_15ocw_60{font-size:1em}._description_15ocw_69{margin-top:4px;font-size:.8125em}._footer_15ocw_79{min-height:calc(48px + 1.4em);padding:28px 0 20px}._copyright_15ocw_87{font-size:.75em;bottom:20px}}
