:root{--jsfc-space-1:.25rem;--jsfc-space-2:.5rem;--jsfc-space-3:.75rem;--jsfc-space-4:1rem;--jsfc-space-5:1.25rem;--jsfc-space-6:1.5rem;--jsfc-space-8:2rem;--jsfc-space-10:2.5rem;--jsfc-space-12:3rem;--jsfc-space-16:4rem;--jsfc-radius-sm:.25rem;--jsfc-radius-md:.5rem;--jsfc-radius-lg:.75rem;--jsfc-radius-full:9999px;--jsfc-font-family-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--jsfc-font-family-mono:ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", monospace;--jsfc-font-size-xs:.75rem;--jsfc-font-size-sm:.875rem;--jsfc-font-size-md:1rem;--jsfc-font-size-lg:1.125rem;--jsfc-font-size-xl:1.25rem;--jsfc-font-size-2xl:1.5rem;--jsfc-font-size-3xl:2rem;--jsfc-font-weight-regular:400;--jsfc-font-weight-medium:500;--jsfc-font-weight-semibold:600;--jsfc-font-weight-bold:700;--jsfc-line-height-tight:1.2;--jsfc-line-height-normal:1.5;--jsfc-line-height-relaxed:1.7;--jsfc-motion-duration-fast:.1s;--jsfc-motion-duration-normal:.2s;--jsfc-motion-easing-standard:cubic-bezier(.4, 0, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--jsfc-gray-1:var(--lightningcss-light,#fcfcfc)var(--lightningcss-dark,#171717);--jsfc-gray-2:var(--lightningcss-light,#f7f7f7)var(--lightningcss-dark,#1f1f1f);--jsfc-gray-3:var(--lightningcss-light,#f0f0f0)var(--lightningcss-dark,#262626);--jsfc-gray-4:var(--lightningcss-light,#e8e8e8)var(--lightningcss-dark,#2e2e2e);--jsfc-gray-5:var(--lightningcss-light,#e0e0e0)var(--lightningcss-dark,#363636);--jsfc-gray-6:var(--lightningcss-light,#d6d6d6)var(--lightningcss-dark,#404040);--jsfc-gray-7:var(--lightningcss-light,#c7c7c7)var(--lightningcss-dark,#4f4f4f);--jsfc-gray-8:var(--lightningcss-light,#b3b3b3)var(--lightningcss-dark,#616161);--jsfc-gray-9:var(--lightningcss-light,#8f8f8f)var(--lightningcss-dark,gray);--jsfc-gray-10:var(--lightningcss-light,#757575)var(--lightningcss-dark,#949494);--jsfc-gray-11:var(--lightningcss-light,#616161)var(--lightningcss-dark,#b5b5b5);--jsfc-gray-12:var(--lightningcss-light,#212121)var(--lightningcss-dark,#f2f2f2);--jsfc-success-bg:var(--lightningcss-light,#e9f7ef)var(--lightningcss-dark,#1d3527);--jsfc-success-border:var(--lightningcss-light,#a6d9bb)var(--lightningcss-dark,#396a4e);--jsfc-success-text:var(--lightningcss-light,#1e673c)var(--lightningcss-dark,#81daa6);--jsfc-warning-bg:var(--lightningcss-light,#fdf4d8)var(--lightningcss-dark,#392e18);--jsfc-warning-border:var(--lightningcss-light,#e4c567)var(--lightningcss-dark,#816731);--jsfc-warning-text:var(--lightningcss-light,#865613)var(--lightningcss-dark,#f3c968);--jsfc-error-bg:var(--lightningcss-light,#fbe9eb)var(--lightningcss-dark,#3e1e21);--jsfc-error-border:var(--lightningcss-light,#e9a5ab)var(--lightningcss-dark,#883a41);--jsfc-error-text:var(--lightningcss-light,#8f1e28)var(--lightningcss-dark,#ed828b);--jsfc-shadow-sm:var(--lightningcss-light,0 1px 2px #00000014)var(--lightningcss-dark,0 1px 2px #0000004d);--jsfc-shadow-md:var(--lightningcss-light,0 4px 8px #0000001a)var(--lightningcss-dark,0 4px 8px #0000005c);--jsfc-shadow-lg:var(--lightningcss-light,0 12px 24px #00000024)var(--lightningcss-dark,0 12px 24px #00000070);--jsfc-color-bg-canvas:var(--jsfc-gray-1);--jsfc-color-bg-surface:var(--jsfc-gray-2);--jsfc-color-bg-surface-hover:var(--jsfc-gray-3);--jsfc-color-bg-surface-active:var(--jsfc-gray-4);--jsfc-color-border-subtle:var(--jsfc-gray-5);--jsfc-color-border:var(--jsfc-gray-6);--jsfc-color-border-strong:var(--jsfc-gray-7);--jsfc-color-text-disabled:var(--jsfc-gray-8);--jsfc-color-text-secondary:var(--jsfc-gray-11);--jsfc-color-text-primary:var(--jsfc-gray-12);--jsfc-color-icon-muted:var(--jsfc-gray-9);--jsfc-color-icon:var(--jsfc-gray-11);--jsfc-color-focus-ring:var(--jsfc-gray-12);--jsfc-color-success-bg:var(--jsfc-success-bg);--jsfc-color-success-border:var(--jsfc-success-border);--jsfc-color-success-text:var(--jsfc-success-text);--jsfc-color-warning-bg:var(--jsfc-warning-bg);--jsfc-color-warning-border:var(--jsfc-warning-border);--jsfc-color-warning-text:var(--jsfc-warning-text);--jsfc-color-error-bg:var(--jsfc-error-bg);--jsfc-color-error-border:var(--jsfc-error-border);--jsfc-color-error-text:var(--jsfc-error-text)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}@font-face{font-family:Fira Code;font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/fira-code-variable.woff2)format("woff2")}:root{--jsfc-font-family-sans:"Fira Code", ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", monospace;--jsfc-font-family-mono:"Fira Code", ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", monospace}._block_texyd_1{border:1px solid var(--jsfc-color-border-subtle);background:var(--jsfc-color-bg-surface);padding:var(--jsfc-space-4)}._summary_texyd_7{cursor:pointer;font-size:var(--jsfc-font-size-md);font-weight:var(--jsfc-font-weight-semibold)}._summary_texyd_7:hover{color:var(--jsfc-color-text-secondary)}._block_texyd_1[open] ._summary_texyd_7{margin-bottom:var(--jsfc-space-3)}._content_texyd_21{gap:var(--jsfc-space-3);flex-direction:column;display:flex}._alert_yx5wa_1{gap:var(--jsfc-space-1);padding:var(--jsfc-space-3) var(--jsfc-space-4);font-family:var(--jsfc-font-family-sans);border:1px solid;flex-direction:column;display:flex}._title_yx5wa_10{font-size:var(--jsfc-font-size-sm);font-weight:var(--jsfc-font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}._body_yx5wa_17{font-size:var(--jsfc-font-size-sm);margin:0;line-height:1.5}._success_yx5wa_23{border-color:var(--jsfc-color-success-border);background:var(--jsfc-color-success-bg);color:var(--jsfc-color-success-text)}._warning_yx5wa_29{border-color:var(--jsfc-color-warning-border);background:var(--jsfc-color-warning-bg);color:var(--jsfc-color-warning-text)}._error_yx5wa_35{border-color:var(--jsfc-color-error-border);background:var(--jsfc-color-error-bg);color:var(--jsfc-color-error-text)}._button_1gax1_1{padding:var(--jsfc-space-2) var(--jsfc-space-6);border:1px solid var(--jsfc-color-border-strong);background:var(--jsfc-color-bg-surface);color:var(--jsfc-color-text-primary);font:inherit;font-weight:var(--jsfc-font-weight-medium);cursor:pointer;align-self:flex-start}._button_1gax1_1:hover{background:var(--jsfc-color-bg-surface-hover)}._button_1gax1_1:focus-visible{outline:2px solid var(--jsfc-color-focus-ring);outline-offset:1px}._button_1gax1_1:disabled{color:var(--jsfc-color-text-disabled);cursor:default}._card_1rhm2_1{gap:var(--jsfc-space-2);padding:var(--jsfc-space-4);border:1px solid var(--jsfc-color-border-subtle);background:var(--jsfc-color-bg-surface);color:inherit;flex-direction:column;text-decoration:none;display:flex}a._card_1rhm2_1:hover{border-color:var(--jsfc-color-border)}._title_1rhm2_16{font-size:var(--jsfc-font-size-md);font-weight:var(--jsfc-font-weight-medium)}._titleMuted_1rhm2_21{font-size:var(--jsfc-font-size-md);font-weight:var(--jsfc-font-weight-medium);color:var(--jsfc-color-text-secondary)}._meta_1rhm2_27{font-size:var(--jsfc-font-size-sm);color:var(--jsfc-color-text-secondary)}._form_119eu_1{gap:var(--jsfc-space-4);flex-direction:column;display:flex}._field_119eu_7{gap:var(--jsfc-space-1);flex-direction:column;display:flex}._label_119eu_13{font-size:var(--jsfc-font-size-sm);font-weight:var(--jsfc-font-weight-medium)}._input_119eu_18,._textarea_119eu_19{font:inherit;padding:var(--jsfc-space-2) var(--jsfc-space-3);border:1px solid var(--jsfc-color-border);background:var(--jsfc-color-bg-surface);color:var(--jsfc-color-text-primary)}._input_119eu_18:focus-visible,._textarea_119eu_19:focus-visible{outline:2px solid var(--jsfc-color-focus-ring);outline-offset:1px}._textarea_119eu_19{resize:vertical;min-height:160px}._inputInvalid_119eu_38{border-color:var(--jsfc-color-error-border)}._hint_119eu_42{font-size:var(--jsfc-font-size-xs);color:var(--jsfc-color-text-secondary)}._error_119eu_47{font-size:var(--jsfc-font-size-sm);color:var(--jsfc-color-error-text)}._checkboxField_119eu_52{gap:var(--jsfc-space-2);flex-direction:column;display:flex}._checkboxLabel_119eu_58{align-items:center;gap:var(--jsfc-space-2);font-size:var(--jsfc-font-size-sm);display:flex}._scroll_1kjc3_1{overflow-x:auto}._table_1kjc3_5{border-collapse:collapse;width:100%;font-size:var(--jsfc-font-size-sm)}._table_1kjc3_5 th,._table_1kjc3_5 td{padding:var(--jsfc-space-2) var(--jsfc-space-3);border-bottom:1px solid var(--jsfc-color-border-subtle);text-align:left;vertical-align:top}._table_1kjc3_5 th{font-size:var(--jsfc-font-size-xs);font-weight:var(--jsfc-font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--jsfc-color-text-secondary)}._root_1qoh1_1{background:var(--jsfc-color-bg-canvas);height:100vh;color:var(--jsfc-color-text-primary);font-family:var(--jsfc-font-family-sans);position:relative;overflow:hidden}._wedges_1qoh1_12{z-index:1;transition:opacity .25s var(--jsfc-motion-easing-standard);position:absolute;inset:0}._nameWedge_1qoh1_19{clip-path:polygon(50% 50%,0% 0%,100% 0%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._nameText_1qoh1_28{font-size:2.5rem;font-weight:var(--jsfc-font-weight-bold);letter-spacing:.01em;text-align:center;pointer-events:none;flex-direction:column;line-height:1.15;display:flex;transform:translateY(-230px)}._wedge_1qoh1_12{color:inherit;font-size:var(--jsfc-font-size-lg);letter-spacing:.02em;transition:background .8s var(--jsfc-motion-easing-standard), font-size .7s var(--jsfc-motion-easing-standard), letter-spacing .7s var(--jsfc-motion-easing-standard);justify-content:center;align-items:center;text-decoration:none;display:flex;position:absolute;inset:0}._wedge_1qoh1_12:hover{background:color-mix(in oklch, var(--jsfc-color-bg-surface-hover) 55%, transparent);font-size:var(--jsfc-font-size-xl);letter-spacing:.12em}._wedgeAbout_1qoh1_62{clip-path:polygon(50% 50%,100% 0%,100% 100%)}._wedgeContact_1qoh1_66{clip-path:polygon(50% 50%,100% 100%,0% 100%)}._wedgePortfolio_1qoh1_70{clip-path:polygon(50% 50%,0% 100%,0% 0%)}._wedgeLabel_1qoh1_74{font-weight:var(--jsfc-font-weight-medium);display:inline-block}._wedgeAbout_1qoh1_62 ._wedgeLabel_1qoh1_74{transform:translate(340px)}._wedgeContact_1qoh1_66 ._wedgeLabel_1qoh1_74{transform:translateY(230px)}._wedgePortfolio_1qoh1_70 ._wedgeLabel_1qoh1_74{transform:translate(-340px)}._mobileHome_1qoh1_94{z-index:2;align-items:center;gap:var(--jsfc-space-1);text-align:center;transition:opacity .25s var(--jsfc-motion-easing-standard);flex-direction:column;display:none;position:absolute;top:288px;left:0;right:0}._mobileName_1qoh1_108{font-size:var(--jsfc-font-size-xl);font-weight:var(--jsfc-font-weight-bold)}._mobileRole_1qoh1_113{font-family:var(--jsfc-font-family-mono);font-size:var(--jsfc-font-size-sm);color:var(--jsfc-color-text-secondary)}._mobileNav_1qoh1_119{align-items:center;gap:var(--jsfc-space-1);margin-top:var(--jsfc-space-4);flex-direction:column;display:flex}._mobileNavLink_1qoh1_127{min-height:44px;padding:var(--jsfc-space-2) var(--jsfc-space-6);color:inherit;font-size:var(--jsfc-font-size-lg);align-items:center;text-decoration:none;display:flex}._badge_1qoh1_139{z-index:5;transition:left .45s var(--jsfc-motion-easing-standard), top .45s var(--jsfc-motion-easing-standard), width .45s var(--jsfc-motion-easing-standard), height .45s var(--jsfc-motion-easing-standard);position:absolute}._badge_1qoh1_139[data-pos=center]{width:360px;height:360px;top:calc(50% - 180px);left:calc(50% - 180px)}._badge_1qoh1_139[data-pos=topmid]{width:360px;height:360px;top:20px;left:calc(50% - 180px)}._badge_1qoh1_139[data-pos=corner]{width:400px;height:400px;top:-90px;left:-100px}._badgeSvg_1qoh1_170{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}._spin_1qoh1_179{transform-box:view-box;transform-origin:100px 100px;animation:28s linear infinite _jc-spin_1qoh1_1}@media (prefers-reduced-motion:reduce){._spin_1qoh1_179{animation:none}}@keyframes _jc-spin_1qoh1_1{to{transform:rotate(360deg)}}._photoWrap_1qoh1_197{width:62%;height:62%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._photo_1qoh1_197{border:2px solid var(--jsfc-color-border);background:var(--jsfc-color-bg-canvas);box-sizing:border-box;width:100%;height:100%;color:var(--jsfc-color-icon-muted);font-family:var(--jsfc-font-family-mono);font-size:var(--jsfc-font-size-2xl);font-weight:var(--jsfc-font-weight-semibold);border-radius:50%;justify-content:center;align-items:center;display:flex}._homeBtn_1qoh1_224{z-index:6;border:1.5px solid var(--jsfc-color-border);background:var(--jsfc-color-bg-surface);width:44px;height:44px;color:var(--jsfc-color-text-primary);cursor:pointer;transition:opacity .25s var(--jsfc-motion-easing-standard);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:220px;left:200px}._homeBtn_1qoh1_224:hover{background:var(--jsfc-color-bg-surface-hover)}._content_1qoh1_248{transition:opacity .3s var(--jsfc-motion-easing-standard);flex-direction:column;display:flex;position:absolute;inset:0}._header_1qoh1_256{border-bottom:1px solid var(--jsfc-color-border-subtle);flex:none;justify-content:center;align-items:center;height:64px;display:flex}._headerTitle_1qoh1_265{font-size:var(--jsfc-font-size-xl);font-weight:var(--jsfc-font-weight-semibold)}._scroll_1qoh1_271{box-sizing:border-box;padding:var(--jsfc-space-8) var(--jsfc-space-8) var(--jsfc-space-8) 330px;flex:1;overflow:auto}@media (max-width:767px){._wedges_1qoh1_12{display:none}._mobileHome_1qoh1_94{display:flex}._badge_1qoh1_139[data-pos=center]{width:200px;height:200px;top:64px;left:calc(50% - 100px)}._badge_1qoh1_139[data-pos=topmid]{width:200px;height:200px;top:16px;left:calc(50% - 100px)}._badge_1qoh1_139[data-pos=corner]{width:88px;height:88px;top:8px;left:8px}._homeBtn_1qoh1_224{width:32px;height:32px;top:8px;left:104px}._scroll_1qoh1_271{padding:var(--jsfc-space-8) var(--jsfc-space-4) var(--jsfc-space-6)}}._section_tu4gu_1{gap:var(--jsfc-space-3);flex-direction:column;max-width:640px;margin:0 auto;display:flex}._sectionWide_tu4gu_9{gap:var(--jsfc-space-4);flex-direction:column;max-width:840px;margin:0 auto;display:flex}._sectionNarrow_tu4gu_17{gap:var(--jsfc-space-3);flex-direction:column;max-width:480px;margin:0 auto;display:flex}._heroName_tu4gu_25{font-size:var(--jsfc-font-size-3xl);font-weight:var(--jsfc-font-weight-bold)}._heroRole_tu4gu_30{font-size:var(--jsfc-font-size-lg);color:var(--jsfc-color-text-secondary)}._heading_tu4gu_35{font-size:var(--jsfc-font-size-lg);font-weight:var(--jsfc-font-weight-semibold);margin:0}._body_tu4gu_41{font-size:var(--jsfc-font-size-md);color:var(--jsfc-color-text-secondary);margin:0;line-height:1.6}._subheading_tu4gu_50{margin:var(--jsfc-space-2) 0 calc(-1 * var(--jsfc-space-1));font-size:var(--jsfc-font-size-sm);font-weight:var(--jsfc-font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--jsfc-color-text-secondary)}._skillGroup_tu4gu_59{align-items:baseline;gap:var(--jsfc-space-2) var(--jsfc-space-3);flex-wrap:wrap;display:flex}._skillGroupLabel_tu4gu_66{width:5.5rem;font-size:var(--jsfc-font-size-sm);color:var(--jsfc-color-text-secondary);flex:none}._skillChips_tu4gu_73{gap:var(--jsfc-space-2);flex-wrap:wrap;flex:auto;display:flex}._skillChip_tu4gu_73{padding:var(--jsfc-space-1) var(--jsfc-space-3);border:1px solid var(--jsfc-color-border-subtle);background:var(--jsfc-color-bg-surface);color:var(--jsfc-color-text-primary);font-family:var(--jsfc-font-family-mono);font-size:var(--jsfc-font-size-sm)}._grid_tu4gu_89{gap:var(--jsfc-space-4);grid-template-columns:repeat(2,1fr);display:grid}._backLink_tu4gu_95{font-size:var(--jsfc-font-size-sm);color:var(--jsfc-color-text-secondary);text-decoration:none}._backLink_tu4gu_95:hover{color:var(--jsfc-color-text-primary)}._remoteMount_tu4gu_106{margin-top:var(--jsfc-space-4)}._changelogMono_tu4gu_112{font-family:var(--jsfc-font-family-mono);white-space:nowrap;color:var(--jsfc-color-text-secondary)}
