*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.relative{position:relative}.sticky{position:sticky}.top-\[70px\]{top:70px}.z-40{z-index:40}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mt-10{margin-top:-2.5rem}.mb-1{margin-bottom:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-20{height:5rem}.h-4{height:1rem}.h-9{height:2.25rem}.\!w-full{width:100%!important}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[93\%\]{width:93%}.max-w-\[700px\]{max-width:700px}.max-w-none{max-width:none}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-pre{white-space:pre}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-500\/90{--tw-gradient-from:#6366f1e6 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-violet-500\/90{--tw-gradient-to:#8b5cf6e6 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-5{padding:1.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--background:#fff;--foreground:#14161b;--muted:#626b7c;--subtle:#687589;--line:#e3e7ef;--surface:#f6f8fc;--accent:#2453ff;--accent-hover:#163cce;--accent-soft:#eef2ff;--panel:#2453ff;--header-background:#fffffff5}.dark{--background:#11151d;--foreground:#f2f4fa;--muted:#adb7c8;--subtle:#98a5bb;--line:#2a3343;--surface:#191f2b;--accent:#90aaff;--accent-hover:#b6c6ff;--accent-soft:#202c4d;--panel:#214ce7;--header-background:#11151df5}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:1rem;line-height:1.65}::selection{background:var(--accent);color:var(--background)}a,button{-webkit-tap-highlight-color:transparent;transition:color .16s,background-color .16s,border-color .16s}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:3px}button,a{touch-action:manipulation}h1,h2,h3{text-wrap:balance}p,li{word-break:keep-all}.site-frame{flex-direction:column;min-height:100svh;display:flex}.site-container{width:min(1120px,100% - 80px);margin-inline:auto}.site-main{flex:1;min-width:0}.skip-link{z-index:100;background:var(--accent);color:var(--background);padding:.75rem 1rem;position:fixed;top:-6rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:30;border-bottom:1px solid var(--line);background:var(--header-background);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;min-height:80px;padding-block:.5rem;display:flex}.wordmark{letter-spacing:-.075em;white-space:nowrap;font-size:1.6rem;font-weight:800}.wordmark span{color:var(--accent)}.header-nav{align-items:center;gap:2rem;display:flex}.header-nav>a{min-height:44px;color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;display:inline-flex;position:relative}.header-nav>a:hover,.header-nav>a[aria-current=page]{color:var(--accent)}.header-nav>a[aria-current=page]:after{content:"";background:currentColor;height:2px;position:absolute;bottom:0;left:0;right:0}.icon-button,.theme-placeholder{flex-shrink:0;width:44px;height:44px}.icon-button{color:var(--foreground);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:600}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:.75rem;min-height:48px;padding:.7rem 1.3rem;font-size:.875rem;font-weight:600;display:inline-flex}.button svg{flex-shrink:0;width:18px;height:18px}.button-primary{color:#fff;background:#2453ff;border-color:#2453ff}.button-primary:hover{background:#163cce;border-color:#163cce}.button-secondary{color:var(--foreground);border-color:var(--line);background:var(--background)}.button-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.home-layout{grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem;min-height:calc(100svh - 170px);padding-block:4rem;display:grid}.home-introduction{min-width:0;padding-block:1rem}.home-kicker{align-items:center;gap:1.25rem;margin-bottom:1.65rem;display:flex}.home-kicker .eyebrow{margin:0}.profile-photo{object-fit:cover;border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-shrink:0}.home-photo{width:80px;height:80px}.home-introduction h1{letter-spacing:-.07em;font-size:clamp(4rem,7.6vw,6.4rem);font-weight:800;line-height:1.12}.home-name-en{letter-spacing:-.025em;color:var(--muted);margin-top:.75rem;font-size:clamp(1.3rem,2.2vw,1.9rem)}.home-description{max-width:27rem;margin-top:2.5rem;font-size:1.15rem;font-weight:600;line-height:1.7}.home-stack{color:var(--muted);margin-top:.5rem;font-size:.875rem;line-height:1.9}.home-introduction .button-row{margin-top:2.5rem}.blog-panel{background:var(--panel);color:#fff;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:500px;padding:2.75rem;display:flex;position:relative}.blog-label{letter-spacing:.1em;color:#dbe3ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:500}.blog-panel-copy{padding-block:2.2rem}.blog-panel h2{letter-spacing:-.055em;font-size:clamp(2.2rem,3.4vw,2.8rem);font-weight:750;line-height:1.3}.blog-panel h2 span{display:inline-block}.blog-panel-copy p{color:#e8edff;margin-top:1.2rem;font-size:1rem}.blog-address{letter-spacing:.015em;margin-top:1.1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem;display:block}.blog-link{border-bottom:1px solid #ffffffa6;align-items:center;gap:1rem;min-height:44px;padding-bottom:.4rem;font-size:.875rem;font-weight:600;display:inline-flex}.blog-link:hover{background:#ffffff1a;border-color:#fff}.blog-link:focus-visible{outline-color:#fff}.backtick-mark{letter-spacing:-.18em;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:3.5rem;font-weight:500;line-height:1;position:absolute;bottom:1.6rem;right:2.5rem}.site-footer{border-top:1px solid var(--line);align-items:center;gap:1.5rem;min-height:90px;font-size:.8125rem;display:flex}.footer-brand{letter-spacing:-.03em;font-weight:700}.footer-copyright{color:var(--subtle);font-size:.75rem}.footer-links{gap:1.5rem;margin-left:auto;display:flex}.footer-links a{align-items:center;min-height:44px;font-size:.875rem;display:inline-flex}.footer-links a:hover{color:var(--accent)}.top-button{z-index:20;border:1px solid var(--line);background:var(--background);position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #0000000d}.profile-page{padding-top:3.5rem;padding-bottom:4rem}.profile-masthead{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.75rem;padding-bottom:2.5rem;display:grid}.profile-identity{align-items:center;gap:2rem;display:flex}.resume-photo{width:112px;height:112px}.profile-identity>div{min-width:0}.profile-identity .eyebrow{letter-spacing:.08em;margin-bottom:.4rem}.profile-identity h1{letter-spacing:-.06em;font-size:2.3rem;font-weight:750;line-height:1.2}.profile-role{color:var(--muted);margin-top:.5rem;font-size:1rem}.profile-masthead-actions{flex-direction:column;align-items:flex-end;gap:.65rem;display:flex}.profile-birthdate{color:var(--subtle);font-variant-numeric:tabular-nums;font-size:.75rem}.profile-description{color:var(--muted);grid-column:1/-1;font-size:1rem;line-height:1.8}.profile-layout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:3rem;padding-top:2.5rem;display:grid}.profile-navigation{padding-right:1.5rem;position:sticky;top:112px}.profile-navigation .eyebrow{letter-spacing:.075em;margin:.3rem 0 1.1rem .9rem;font-size:.75rem;display:block}.profile-navigation ul{flex-direction:column;gap:.3rem;display:flex}.profile-navigation a{min-height:44px;color:var(--muted);border-left:2px solid #0000;align-items:center;padding:.6rem .9rem;font-size:.875rem;display:flex}.profile-navigation a:hover{color:var(--accent);background:var(--surface)}.profile-navigation a[aria-current=location]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:650}.profile-content{min-width:0}.profile-section{border-top:1px solid var(--line);padding-block:2.5rem;scroll-margin-top:1rem}.profile-section:first-child{border-top:0;padding-top:0}.profile-section:last-child{padding-bottom:0}.section-heading{letter-spacing:-.055em;align-items:baseline;gap:1.1rem;margin-bottom:1.8rem;font-size:1.6rem;font-weight:750;display:flex}.section-heading>span{color:var(--subtle);letter-spacing:-.04em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;font-weight:500}.introduction-copy{color:var(--muted);font-size:1rem;line-height:1.95}.introduction-copy p+p,.introduction-extra p{margin-top:1rem}.introduction-copy span{color:var(--foreground)}.text-button{min-height:44px;color:var(--accent);align-items:center;gap:.7rem;font-size:.875rem;font-weight:600;display:inline-flex}.text-button:hover{color:var(--accent-hover)}.introduction-toggle{margin-top:.7rem}.strengths-grid{background:var(--surface);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 2rem;margin-top:2rem;padding:1.5rem;display:grid}.strength-item h3{font-size:.9375rem;font-weight:650}.strength-item p{color:var(--muted);margin-top:.35rem;font-size:.875rem;line-height:1.8}.career-timeline{margin:0;padding:0;list-style:none}.career-item{grid-template-columns:150px minmax(0,1fr);gap:1.75rem;display:grid}.career-period{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.15rem;font-size:.8125rem;line-height:1.8}.career-details{border-left:1px solid var(--line);padding:0 0 2.5rem 1.7rem;position:relative}.career-details:before{content:"";background:var(--subtle);width:7px;height:7px;box-shadow:0 0 0 5px var(--background);border-radius:50%;position:absolute;top:.5rem;left:-4px}.career-item:first-child .career-details:before{background:var(--accent)}.career-item:last-child .career-details{padding-bottom:0}.career-details h3,.education-item h3{letter-spacing:-.035em;font-size:1.125rem;font-weight:700}.career-position{color:var(--muted);margin-top:.3rem;font-size:.875rem}.tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.career-details .tag-list{margin-top:.8rem}.skill-tag{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:4px;max-width:100%;padding:.25rem .65rem;font-size:.8125rem;line-height:1.7;display:inline-block}.detail-list{color:var(--muted);margin-top:1rem;padding-left:1.1rem;font-size:1rem;line-height:1.8;list-style:outside}.detail-list li+li{margin-top:.55rem}.detail-list li::marker{color:var(--subtle);font-size:.7em}.skills-list{flex-direction:column;display:flex}.skill-category{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:1.75rem;padding-block:1.2rem;display:grid}.skill-category:first-child{padding-top:0}.skill-category:last-child{border-bottom:0;padding-bottom:0}.skill-category h3{color:var(--foreground);padding-top:.3rem;font-size:.875rem;font-weight:650}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-item{border:1px solid var(--line);border-radius:6px;flex-direction:column;min-width:0;padding:1.4rem;display:flex}.project-meta{color:var(--subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.15rem;font-size:.75rem;display:flex}.project-status{color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:3px;padding:.15rem .45rem;font-size:.75rem}.project-status[data-status=운영중]{color:var(--accent);background:var(--accent-soft)}.project-item h3{letter-spacing:-.03em;font-size:1.1rem;font-weight:700;line-height:1.6}.project-item .detail-list{flex:1;font-size:1rem}.project-link{border-top:1px solid var(--line);min-height:44px;color:var(--accent);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:.9rem;font-size:.875rem;font-weight:600;display:inline-flex}.project-link:hover{color:var(--accent-hover)}.project-link svg{flex-shrink:0}.education-list{margin:0;padding:0;list-style:none}.education-item{grid-template-columns:150px minmax(0,1fr);gap:1.75rem;padding-bottom:1.75rem;display:grid}.education-item:last-child{padding-bottom:0}.education-item div>p{color:var(--muted);margin-top:.3rem;font-size:1rem}.education-item div>span{color:var(--subtle);margin-top:.25rem;font-size:.8125rem;display:block}.contact-list>div{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1.75rem;padding-block:.7rem;display:grid}.contact-list>div:last-child{border-bottom:0}.contact-list dt{color:var(--muted);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.contact-list dd a{justify-content:space-between;align-items:center;gap:1rem;min-height:44px;font-size:1rem;display:flex}.contact-list a:hover{color:var(--accent)}.contact-list svg{flex-shrink:0}.status-page{flex-direction:column;justify-content:center;align-items:flex-start;min-height:calc(100svh - 170px);padding-block:4rem;display:flex}.status-code{letter-spacing:-.075em;margin-bottom:2rem;font-size:clamp(5rem,14vw,10rem);font-weight:750;line-height:1}.status-code span{color:var(--accent)}.status-page h1{letter-spacing:-.05em;margin-top:.9rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.status-description{color:var(--muted);margin-top:.75rem;margin-bottom:2rem}@media (max-width:1000px){.home-layout{gap:2rem}.blog-panel{min-height:470px;padding:2rem}.profile-layout{grid-template-columns:140px minmax(0,1fr);gap:2rem}.profile-navigation{padding-right:0}.career-item,.education-item{grid-template-columns:125px minmax(0,1fr);gap:1rem}.skill-category,.contact-list>div{grid-template-columns:120px minmax(0,1fr);gap:1rem}.projects-grid{grid-template-columns:1fr}}@media (max-width:760px){html{scroll-padding-top:6rem}.site-header{position:relative}.site-container{width:calc(100% - 40px)}.header-inner{gap:.75rem;min-height:68px}.wordmark{font-size:1.35rem}.header-nav{gap:1rem}.header-nav>a{font-size:.875rem}.header-nav .header-github{display:none}.home-layout{grid-template-columns:1fr;gap:2.5rem;min-height:auto;padding-block:3rem}.home-introduction{padding-block:0}.home-introduction h1{font-size:clamp(4.3rem,16vw,6rem)}.home-kicker{gap:1rem;margin-bottom:1.4rem}.home-name-en{font-size:1.5rem}.home-description{margin-top:1.75rem;font-size:1.0625rem}.home-introduction .button-row{margin-top:1.75rem}.blog-panel{min-height:390px;padding:1.75rem}.blog-panel h2{font-size:2.8rem}.blog-panel-copy{padding-block:1.7rem}.backtick-mark{font-size:3rem;bottom:1.6rem;right:1.75rem}.site-footer{flex-wrap:wrap;gap:.4rem 1.5rem;min-height:100px;padding-block:1.25rem}.footer-copyright{order:3;width:100%}.profile-page{padding-block:2rem 3rem}.profile-masthead{gap:1.4rem 1rem;padding-bottom:1.75rem}.profile-identity{gap:1rem}.resume-photo{width:88px;height:88px}.profile-identity h1{font-size:1.8rem}.profile-identity .eyebrow{font-size:.75rem}.profile-masthead-actions{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.profile-description{font-size:.9375rem}.profile-layout{padding-top:0;display:block}.profile-navigation{z-index:20;border-bottom:1px solid var(--line);background:var(--background);margin-bottom:1.75rem;padding-block:.75rem;top:0}.profile-navigation .eyebrow{display:none}.profile-navigation ul{scrollbar-width:thin;flex-direction:row;gap:.4rem;padding:4px;overflow-x:auto}.profile-navigation li{flex-shrink:0}.profile-navigation a{border-bottom:2px solid #0000;border-left:0;padding:.45rem .7rem}.profile-section{padding-block:2rem}.section-heading{gap:.85rem;margin-bottom:1.4rem;font-size:1.5rem}.career-item,.education-item{grid-template-columns:1fr;gap:.8rem}.career-item+.career-item{margin-top:1.75rem}.career-details{margin-left:.25rem;padding-bottom:.25rem;padding-left:1.25rem}.career-period{font-size:.875rem}.skill-category{grid-template-columns:1fr;gap:.75rem}.strengths-grid{gap:1.2rem;padding:1.2rem}.contact-list>div{grid-template-columns:1fr;gap:.25rem}.contact-list dd a{font-size:.9375rem}.top-button{bottom:1rem;right:1rem}.status-page{min-height:calc(100svh - 180px)}}@media (max-width:380px){.header-nav{gap:.65rem}.site-container{width:calc(100% - 32px)}.strengths-grid{grid-template-columns:1fr}.resume-photo{width:72px;height:72px}.blog-panel{padding-inline:1.4rem}.blog-panel-copy p{font-size:.9375rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:14mm 15mm}:root,.dark{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--foreground:#171717;--muted:#414141;--subtle:#555;--line:#ddd;--surface:#f5f5f5;--accent:#183fba;--accent-soft:#f5f5f5}html{scroll-behavior:auto}body{font-size:10pt;line-height:1.5;color:#171717!important;background:#fff!important}.site-header,.site-footer,.skip-link,.profile-navigation,.print-button,.top-button,.introduction-toggle{display:none!important}.site-frame{min-height:0;display:block}.site-container{width:100%;max-width:none}.profile-page{padding:0}.profile-masthead{gap:8pt;padding-bottom:12pt}.resume-photo{width:64pt;height:64pt}.profile-identity{gap:16pt}.profile-identity h1{font-size:24pt}.profile-masthead-actions{grid-column:auto}.profile-role,.profile-description{font-size:10pt}.profile-layout{padding-top:16pt;display:block}.profile-section{break-inside:auto;padding-block:14pt}.section-heading{break-after:avoid;margin-bottom:10pt;font-size:15pt}.section-heading>span{font-size:10pt}h3{break-after:avoid}p,li{orphans:3;widows:3}.introduction-copy{font-size:10pt;line-height:1.65}.introduction-copy p+p,.introduction-extra p{margin-top:7pt}.introduction-extra[hidden]{display:block!important}.introduction-copy span{color:#171717!important}.strengths-grid{break-inside:avoid;border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10pt 16pt;margin-top:12pt;padding:10pt}.strength-item h3{font-size:10pt}.strength-item p{font-size:9pt}.career-item,.education-item{grid-template-columns:110pt minmax(0,1fr);gap:14pt}.career-item+.career-item{margin-top:0}.career-period,.career-position{font-size:9pt}.career-details{margin-left:0;padding:0 0 16pt 12pt}.career-details h3,.education-item h3{font-size:12pt}.detail-list,.project-item .detail-list{font-size:10pt;line-height:1.6}.detail-list li+li{margin-top:4pt}.skill-tag{padding:2pt 5pt;font-size:9pt}.skill-category{break-inside:avoid;grid-template-columns:110pt minmax(0,1fr);gap:14pt;padding-block:8pt}.skill-category h3{font-size:10pt}.projects-grid{display:block}.project-item{border:0;border-bottom:1px solid var(--line);break-inside:avoid;border-radius:0;padding:12pt 0;display:block}.project-meta{margin-bottom:5pt;font-size:9pt}.project-item h3{font-size:12pt}.project-link{border-top:0;justify-content:flex-start;min-height:0;margin-top:8pt;padding-top:4pt;font-size:9pt}.education-item{break-inside:avoid;padding-bottom:12pt}.education-item div>p{font-size:10pt}.contact-list>div{grid-template-columns:110pt minmax(0,1fr);gap:14pt;padding-block:5pt}.contact-list dd a{justify-content:flex-start;min-height:0;font-size:10pt}.contact-list dd svg{display:none}}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (min-width:768px){.md\:prose-base{font-size:1rem;line-height:1.75}.md\:prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.md\:prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.md\:prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.md\:prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.888889em;font-size:2.25em;line-height:1.11111}.md\:prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:1em;font-size:1.5em;line-height:1.33333}.md\:prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;line-height:1.6}.md\:prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.md\:prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.md\:prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.md\:prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.md\:prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-size:.875em}.md\:prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.md\:prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.md\:prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;line-height:1.71429}.md\:prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.md\:prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.md\:prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.md\:prose-base :where(.md\:prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.md\:prose-base :where(.md\:prose-base>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.md\:prose-base :where(.md\:prose-base>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.md\:prose-base :where(.md\:prose-base>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.md\:prose-base :where(.md\:prose-base>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.md\:prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.md\:prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.md\:prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.md\:prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.md\:prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.md\:prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.md\:prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.71429}.md\:prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.md\:prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.md\:prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.md\:prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.md\:prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.md\:prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.md\:prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.md\:prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.md\:prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.857143em;font-size:.875em;line-height:1.42857}.md\:prose-base :where(.md\:prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-base :where(.md\:prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}.backdrop\:bg-\[rgba\(0\,0\,0\,0\.7\)\]::backdrop{background-color:#000000b3}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.prose-headings\:font-bold :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700}.prose-headings\:text-gray-900 :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.prose-p\:leading-relaxed :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.625}.prose-p\:text-gray-700 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.prose-a\:text-blue-600 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.prose-a\:no-underline :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.hover\:prose-a\:underline :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{text-decoration-line:underline}.prose-blockquote\:rounded-r :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.prose-blockquote\:border-l-4 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-left-width:4px}.prose-blockquote\:border-blue-500 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.prose-blockquote\:bg-blue-50 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.prose-blockquote\:py-2 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5rem;padding-bottom:.5rem}.prose-blockquote\:pl-4 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:1rem}.prose-blockquote\:italic :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-style:italic}.prose-strong\:text-gray-900 :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.prose-code\:rounded :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem}.prose-code\:bg-gray-100 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.prose-code\:px-1\.5 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:.375rem;padding-right:.375rem}.prose-code\:py-0\.5 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.125rem;padding-bottom:.125rem}.prose-code\:text-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875rem;line-height:1.25rem}.prose-code\:text-blue-600 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.prose-pre\:rounded-xl :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.75rem}.prose-pre\:border :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-width:1px}.prose-pre\:border-gray-800 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.prose-pre\:bg-gray-950 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.prose-pre\:shadow-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.prose-ol\:list-decimal :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose-ul\:list-disc :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc}.prose-li\:marker\:text-gray-500 * :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:#6b7280}.prose-li\:marker\:text-gray-500 :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:#6b7280}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.dark\:bg-indigo-500\/15:is(.dark *){background-color:#6366f126}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-900\/60:hover:is(.dark *){background-color:#11182799}.dark\:hover\:bg-white:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dark\:hover\:text-gray-900:hover:is(.dark *){--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:prose-headings\:text-white :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:prose-p\:text-gray-300 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:prose-a\:text-blue-400 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:prose-blockquote\:bg-blue-900\/20 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){background-color:#1e3a8a33}.dark\:prose-strong\:text-white :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:prose-code\:bg-gray-800 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:prose-code\:text-blue-400 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:prose-pre\:border-gray-700 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:prose-pre\:bg-gray-950 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *){--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.dark\:prose-li\:marker\:text-gray-400 * :where(li):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *)::marker{color:#9ca3af}.dark\:prose-li\:marker\:text-gray-400 :where(li):not(:where([class~=not-prose],[class~=not-prose] *)):is(.dark *)::marker{color:#9ca3af}@media (min-width:768px){.md\:w-\[80\%\]{width:80%}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}}
