@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-outline-style:solid}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--color-red-50:#fef2f2;--color-red-200:#ffcaca;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-gray-50:#f9fafb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-600:#4a5565;--color-gray-800:#1e2939;--color-gray-900:#101828;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:color(display-p3 0 0 0)){:root,:host{--color-red-50:color(display-p3 .988669 .951204 .950419);--color-red-200:color(display-p3 .969562 .798149 .794299);--color-red-500:color(display-p3 .903738 .262579 .253307);--color-red-600:color(display-p3 .830323 .140383 .133196);--color-red-700:color(display-p3 .692737 .116232 .104679);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-300:color(display-p3 .822033 .835264 .858521);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-gray-600:color(display-p3 .297358 .332176 .39043);--color-gray-800:color(display-p3 .125854 .159497 .216835);--color-gray-900:color(display-p3 .070423 .0928982 .151928)}}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-200:lab(86.017% 19.8815 7.75869);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where(select:-moz-any([multiple],[size])) optgroup option:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where(select:is([multiple],[size])) optgroup option:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where(select:-webkit-any([multiple],[size])) optgroup option:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where(select:-moz-any([multiple],[size])) optgroup option:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where(select:is([multiple],[size])) optgroup option:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::-webkit-file-upload-button{margin-right:4px}:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::-webkit-file-upload-button{margin-left:4px}:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;-moz-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-4{inset:calc(var(--spacing)*4)}.start:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-50{z-index:50}.-m-2{margin:calc(var(--spacing)*-2)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-6{margin-block:calc(var(--spacing)*6)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-9{height:calc(var(--spacing)*9)}.h-14{height:calc(var(--spacing)*14)}.h-24{height:calc(var(--spacing)*24)}.h-\[132px\]{height:132px}.h-auto{height:auto}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-full{max-height:100%}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-\[120px\]{min-height:120px}.min-h-\[760px\]{min-height:760px}.min-h-\[calc\(100vh_-_var\(--site-header-height\)\)\]{min-height:calc(100vh - var(--site-header-height))}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-9{width:calc(var(--spacing)*9)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-\[132px\]{width:132px}.w-\[calc\(100\%_-_32px\)\]{width:calc(100% - 32px)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[360px\]{max-width:360px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-3\.5{gap:calc(var(--spacing)*3.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[24px\]{border-radius:24px}.rounded-\[var\(--radius-card\)\]{border-radius:var(--radius-card)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border-default\)\]{border-color:var(--border-default)}.border-\[var\(--text-heading\)\]{border-color:var(--text-heading)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.border-red-500\/30{border-color:rgba(251,44,54,.3)}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-white\/60{border-color:rgba(255,255,255,.6)}@supports (color:color-mix(in lab, red, red)){.border-white\/60{border-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-\[color\:var\(--accent-muted\)\],.bg-\[var\(--accent-muted\)\]{background-color:var(--accent-muted)}.bg-\[var\(--portfolio-bg\)\]{background-color:var(--portfolio-bg)}.bg-\[var\(--portfolio-surface\)\]{background-color:var(--portfolio-surface)}.bg-\[var\(--portfolio-surface-muted\)\]{background-color:var(--portfolio-surface-muted)}.bg-\[var\(--text-heading\)\]{background-color:var(--text-heading)}.bg-black{background-color:var(--color-black)}.bg-black\/60{background-color:rgba(0,0,0,.6)}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500\/10{background-color:rgba(251,44,54,.1)}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-left{text-align:left}.font-mono{font-family:var(--font-geist-mono)}.font-sans{font-family:var(--font-geist-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.65rem\]{font-size:1.65rem}.text-\[10px\]{font-size:10px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--portfolio-bg\)\]{color:var(--portfolio-bg)}.text-\[var\(--text-body\)\]{color:var(--text-body)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-heading\)\]{color:var(--text-heading)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--primary\)\]{accent-color:var(--primary)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,rgba(0,0,0,.25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,rgba(0,0,0,.08));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[var\(--text-heading\)\]\/20{--tw-ring-color:var(--text-heading)}@supports (color:color-mix(in lab, red, red)){.ring-\[var\(--text-heading\)\]\/20{--tw-ring-color:color-mix(in oklab,var(--text-heading)20%,transparent)}}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,box-shadow\,border-color\]{transition-property:background,box-shadow,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}@media (hover:hover){.hover\:border-\[var\(--border-strong\)\]:hover{border-color:var(--border-strong)}.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:border-gray-900:hover{border-color:var(--color-gray-900)}.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-\[var\(--portfolio-surface-muted\)\]:hover{background-color:var(--portfolio-surface-muted)}.hover\:bg-\[var\(--primary\)\]:hover{background-color:var(--primary)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[var\(--primary-dark\)\]:hover{color:var(--primary-dark)}.hover\:text-\[var\(--text-heading\)\]:hover{color:var(--text-heading)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:shadow-\[var\(--shadow-md\)\]:hover{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-\[var\(--primary\)\]:focus{border-color:var(--primary)}.focus\:shadow-\[0_0_0_3px_var\(--accent-ring\)\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--accent-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:text-\[var\(--primary-dark\)\]:focus-visible{color:var(--primary-dark)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-\[var\(--accent-ring\)\]:focus-visible{outline-color:var(--accent-ring)}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-\[var\(--portfolio-surface-muted\)\]:disabled{background-color:var(--portfolio-surface-muted)}.disabled\:text-\[var\(--text-faint\)\]:disabled{color:var(--text-faint)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:top-6{top:calc(var(--spacing)*6)}.sm\:right-6{right:calc(var(--spacing)*6)}.sm\:left-6{left:calc(var(--spacing)*6)}.sm\:mt-8{margin-top:calc(var(--spacing)*8)}.sm\:min-h-12{min-height:calc(var(--spacing)*12)}.sm\:max-w-\[420px\]{max-width:420px}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:py-3{padding-block:calc(var(--spacing)*3)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[0\.95rem\]{font-size:.95rem}}@media (min-width:48rem){.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}}@media (min-width:80rem){.xl\:sticky{position:-webkit-sticky;position:sticky}.xl\:top-6{top:calc(var(--spacing)*6)}.xl\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.xl\:self-start{align-self:flex-start}}html[data-theme=dark] .\[html\[data-theme\=\'dark\'\]_\&\]\:text-red-200{color:var(--color-red-200)}html[data-theme=dark] .\[html\[data-theme\=\'dark\'\]_\&\]\:shadow-\[0_22px_70px_rgba\(0\,0\,0\,0\.46\)\]{--tw-shadow:0 22px 70px var(--tw-shadow-color,rgba(0,0,0,.46));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{--background:#fff;--foreground:#1f2a24;--muted:#7a8178;--primary:#3f5f4a;--primary-dark:#2f4638;--accent:#a8b89a;--border:#e5e5e5;--card:#fff;--portfolio-bg:var(--background);--portfolio-surface:var(--card);--portfolio-surface-muted:#fff;--text-heading:var(--foreground);--text-body:#2d352f;--text-muted:var(--muted);--text-faint:#969083;--border-default:var(--border);--border-strong:#d4d4d4;--accent-muted:#fff;--accent-ring:rgba(63,95,74,.24);--shadow-sm:0 1px 2px rgba(47,70,56,.06);--shadow-card:0 10px 28px rgba(47,70,56,.05);--radius-card:8px;--radius-small:5px;--radius-pill:9999px;--code-bg:#fff;--code-inline-bg:#fff;--code-text:#26332b;--selection-bg:rgba(63,95,74,.16);--post-surface:#fff;--post-border:#eee;--post-content-width:980px;--markdown-content-width:740px;--portfolio-content-width:880px;--header-content-width:960px;--page-gutter:40px;--site-header-height:68px}:root[data-theme=dark]{--background:#0a0a0a;--foreground:#ededed;--muted:#bdbdbd;--primary:#a8b89a;--primary-dark:#c4d0b8;--accent:#7f966f;--border:#2a2a2a;--card:#111;--portfolio-bg:var(--background);--portfolio-surface:var(--card);--portfolio-surface-muted:#151515;--text-heading:var(--foreground);--text-body:var(--foreground);--text-muted:var(--muted);--text-faint:#8f8f8f;--border-default:var(--border);--border-strong:#3a3a3a;--accent-muted:rgba(168,184,154,.1);--accent-ring:rgba(168,184,154,.28);--shadow-sm:0 1px 2px rgba(0,0,0,.22);--shadow-card:0 14px 34px rgba(0,0,0,.34);--code-bg:#111;--code-inline-bg:#1a1a1a;--code-text:#ededed;--selection-bg:rgba(168,184,154,.22);--post-surface:#0f0f0f;--post-border:#2a2a2a}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--site-header-height) + 1rem);background:var(--portfolio-bg);overflow-x:hidden}body{padding-top:var(--site-header-height);background:var(--portfolio-bg);color:var(--text-body);font-family:var(--font-geist-sans),Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;transition:background-color .2s,color .2s;overflow-x:hidden}::selection{background:var(--selection-bg)}a,button,input,textarea,select{transition:background-color .16s,border-color .16s,color .16s}.site-header{z-index:100;min-height:var(--site-header-height);background:var(--portfolio-bg);justify-content:center;align-items:center;padding:.7rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb,var(--portfolio-bg)90%,transparent)}}.site-header{border-bottom:1px solid var(--border-default)}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--border-default)72%,transparent)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(47,70,56,.05)}:root[data-theme=dark] .site-header{background:rgba(10,10,10,.9);border-bottom-color:rgba(42,42,42,.86);box-shadow:0 12px 34px rgba(0,0,0,.34)}.site-header__inner{width:min(calc(100% - var(--page-gutter)),var(--header-content-width));justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.site-brand{color:var(--text-heading);font-size:.9rem;font-weight:700}.site-nav{align-items:center;gap:1.25rem;display:flex}.site-nav a{min-height:1.5rem;color:var(--text-muted);align-items:center;font-size:.82rem;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--primary-dark)}.site-nav__archive{border-left:2px solid var(--border-default);margin-left:.15rem}@supports (color:color-mix(in lab, red, red)){.site-nav__archive{border-left:2px solid color-mix(in srgb,var(--border-default)72%,var(--text-muted))}}.site-nav__archive{padding-left:1.4rem}.site-header__actions{align-items:center;gap:.45rem;display:flex}.theme-toggle,.site-menu-toggle{border:1px solid var(--border-default);flex:none;justify-content:center;align-items:center;width:2.45rem;height:2.45rem}@supports (color:color-mix(in lab, red, red)){.theme-toggle,.site-menu-toggle{border:1px solid color-mix(in srgb,var(--border-default)82%,var(--primary))}}.theme-toggle,.site-menu-toggle{border-radius:var(--radius-pill);background:var(--portfolio-surface)}@supports (color:color-mix(in lab, red, red)){.theme-toggle,.site-menu-toggle{background:color-mix(in srgb,var(--portfolio-surface)94%,transparent)}}.theme-toggle,.site-menu-toggle{color:var(--primary-dark);cursor:pointer;box-shadow:var(--shadow-sm);padding:0}.theme-toggle{display:inline-flex}.site-menu-toggle{display:none}.theme-toggle:hover,.site-menu-toggle:hover,.site-menu-toggle[aria-expanded=true]{border-color:var(--primary);background:var(--accent-muted)}.theme-toggle:focus-visible{border-color:var(--primary);background:var(--accent-muted)}.site-menu-toggle:focus-visible{border-color:var(--primary);background:var(--accent-muted)}.theme-toggle:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.site-menu-toggle:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.theme-toggle__icon,.site-menu-toggle__icon{width:1.15rem;height:1.15rem}.theme-toggle__placeholder{width:1.15rem;height:1.15rem;display:block}.site-mobile-menu{z-index:110;width:14rem;max-width:calc(100vw - var(--page-gutter));border:1px solid var(--border-default);gap:.12rem;height:auto;display:none;position:absolute;top:calc(100% + .65rem);right:0}@supports (color:color-mix(in lab, red, red)){.site-mobile-menu{border:1px solid color-mix(in srgb,var(--border-default)82%,var(--primary))}}.site-mobile-menu{background:var(--portfolio-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1rem;padding:.45rem 0;box-shadow:0 18px 42px rgba(47,70,56,.14)}:root[data-theme=dark] .site-mobile-menu{background:rgba(17,17,17,.96);border-color:#2a2a2a;box-shadow:0 18px 42px rgba(0,0,0,.42)}.site-mobile-menu a{border-radius:var(--radius-small);color:var(--text-body);justify-content:space-between;align-items:center;padding:.72rem 1rem;font-size:.9rem;font-weight:620;line-height:1.2;text-decoration:none;display:flex}.site-mobile-menu a:hover{background:var(--accent-muted);color:var(--primary-dark);outline:0}.site-mobile-menu a:focus-visible{background:var(--accent-muted);color:var(--primary-dark);outline:0}.site-mobile-menu__divider{background:var(--border-default);height:1px;margin:.45rem .6rem;display:block}@supports (color:color-mix(in lab, red, red)){.site-mobile-menu__divider{background:color-mix(in srgb,var(--border-default)86%,transparent)}}.site-mobile-menu__archive{color:var(--primary-dark)}.portfolio-page{min-height:100vh;color:var(--text-body);padding:max(3.25rem,min(7vw,4.75rem)) 0 max(3rem,min(7vw,4rem))}.portfolio-page--post{padding-left:0;padding-right:0}.portfolio-main{width:min(calc(100% - var(--page-gutter)),var(--portfolio-content-width));margin:0 auto}.portfolio-main>*+*{margin-top:max(3.75rem,min(8vw,6.25rem))}.hero-section{max-width:760px;padding-top:max(.75rem,min(3vw,1.5rem))}.hero-section h1{color:var(--text-heading);letter-spacing:0;margin-top:1.1rem;font-size:max(2.625rem,min(10vw,4.5rem));font-weight:750;line-height:1.16}.hero-title{display:grid}.hero-title__ghost,.hero-title__typed{white-space:normal;grid-area:1/1}.hero-title__ghost{visibility:hidden}.hero-title__cursor{background:var(--primary);width:.08em;height:.88em;margin-left:.08em;display:inline-block;transform:translateY(.08em)}@supports (color:color-mix(in lab, red, red)){.hero-title__cursor{background:color-mix(in srgb,var(--primary)74%,transparent)}}.hero-title__cursor{animation:.92s steps(2,start) infinite hero-cursor-blink}.hero-title__cursor--done{opacity:0;animation:none}@keyframes hero-cursor-blink{50%{opacity:.18}}.hero-copy{max-width:660px;color:var(--text-body);margin-top:1.25rem;font-size:1.05rem;line-height:1.9}.hero-profile{max-width:680px;margin-top:5.5rem;scroll-margin-top:5rem}.hero-profile .section-heading{margin-bottom:.9rem}.hero-profile .section-title{font-size:max(1.2rem,min(4vw,1.45rem))}.hero-current{border-left:2px solid var(--primary);gap:.55rem;margin-top:1.75rem;padding-left:1rem;display:grid}.hero-current span,.section-eyebrow{color:var(--primary);letter-spacing:.08em;font-size:.76rem;font-weight:700}.section-eyebrow{letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;font-size:.74rem;font-weight:800;line-height:1.2;display:block}.hero-current p{color:var(--text-muted);font-size:.94rem;line-height:1.75}.hero-links{flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;display:flex}.hero-social-links{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.social-link-pill{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--portfolio-surface);min-height:3rem;box-shadow:var(--shadow-sm);color:var(--primary-dark);justify-content:center;align-items:center;gap:.5rem;padding:0 1.75rem;font-size:.92rem;font-weight:650;line-height:1;text-decoration:none;transition:transform .17s,border-color .17s,box-shadow .17s,background-color .17s,color .17s;display:inline-flex}.social-link-pill:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);color:var(--primary);transform:translateY(-1px)}.social-link-pill:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px}.social-link-pill__icon,.social-link-pill__image{flex:none;width:1.125rem;height:1.125rem}.social-link-pill__image{object-fit:contain;display:block}:root[data-theme=dark] .social-link-pill__image{filter:brightness(0)invert()opacity(.86)}.hero-links a,.link-pill,.text-link{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--portfolio-surface);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.hero-links a,.link-pill,.text-link{background:color-mix(in srgb,var(--portfolio-surface)88%,transparent)}}.hero-links a,.link-pill,.text-link{color:var(--primary-dark);font-size:.86rem;font-weight:600;line-height:1;text-decoration:none}.hero-links a,.link-pill{min-height:2.25rem;padding:.55rem .9rem}.hero-links a:hover,.link-pill:hover,.text-link:hover{border-color:var(--primary);background:var(--accent-muted)}.link-pill:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.hero-links a:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.text-link:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.content-section{scroll-margin-top:calc(var(--site-header-height) + 1.25rem)}.section-heading{max-width:680px;margin-bottom:1.7rem}.section-title{color:var(--text-heading);letter-spacing:0;margin-top:.38rem;font-size:1.5rem;font-weight:740;line-height:1.35}.section-description{color:var(--text-muted);margin-top:.55rem;font-size:.96rem;line-height:1.8}.section-card,.project-card,.note-card,.quiet-card,.skill-group{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);box-shadow:var(--shadow-sm)}.section-card{padding:1.4rem}.contact-section .section-heading{margin-bottom:1.7rem}.contact-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);box-shadow:var(--shadow-sm);gap:1rem;padding:max(1.2rem,min(4vw,2rem));display:grid}.contact-card__description{color:var(--text-muted);font-size:.96rem;line-height:1.8}.contact-card__email{overflow-wrap:anywhere;border-bottom:1px solid var(--primary);width:-moz-fit-content;width:fit-content;max-width:100%}@supports (color:color-mix(in lab, red, red)){.contact-card__email{border-bottom:1px solid color-mix(in srgb,var(--primary)62%,transparent)}}.contact-card__email{color:var(--primary-dark);font-size:max(.96rem,min(3.8vw,1.16rem));font-weight:740;line-height:1.55;text-decoration:none;transition:border-color .16s,color .16s}.contact-card__email:hover{border-color:var(--primary);color:var(--primary)}.contact-card__email:focus-visible{border-radius:var(--radius-small);outline:2px solid var(--accent-ring);outline-offset:3px}.project-list,.note-list{gap:1rem;display:grid}.project-card{padding:1.35rem}.project-card:hover,.note-card:hover,.quiet-card:hover,.skill-group:hover,.section-card:hover{border-color:var(--border-strong)}.project-card__header{justify-content:space-between;gap:1rem;display:flex}.project-card__header p,.note-card__topline,.project-card__meta dt{color:var(--text-faint);font-size:.76rem;font-weight:700}.project-card h3,.note-card h3,.quiet-card h3,.skill-group h3{color:var(--text-heading);font-size:1.08rem;font-weight:720;line-height:1.4}.project-card__header h3{margin-top:.3rem}.project-card__summary,.note-card p,.quiet-card p{color:var(--text-body);margin-top:.85rem;font-size:.94rem;line-height:1.8}.project-card__meta{border-top:1px solid var(--border-default);gap:.7rem;margin-top:1rem;padding-top:1rem;display:grid}.project-card__meta dd{color:var(--text-muted);margin-top:.25rem;font-size:.9rem;line-height:1.65}.tag-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.tag-list li{border:1px solid var(--border-default)}@supports (color:color-mix(in lab, red, red)){.tag-list li{border:1px solid color-mix(in srgb,var(--border-default)78%,var(--primary))}}.tag-list li{border-radius:var(--radius-small);color:var(--primary-dark);background:var(--accent-muted);padding:.25rem .45rem;font-size:.73rem;line-height:1.2}.note-list{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.note-card,.quiet-card,.skill-group{padding:1.1rem}.note-card__topline{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.text-link{min-height:2.15rem;margin-top:1rem;padding:.55rem .8rem}.lab-grid,.skill-groups{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1rem;display:grid}.skill-group ul,.profile-list{gap:.55rem;margin-top:.85rem;display:grid}.skill-group li,.profile-list li{color:var(--text-muted);font-size:.93rem;line-height:1.65}.profile-list{border-top:1px solid var(--border-default);padding-top:1rem}.profile-list li{padding-left:1rem;position:relative}.profile-list li:before{background:var(--primary);content:"";border-radius:999px;width:.35rem;height:.35rem;position:absolute;top:.72rem;left:0}.portfolio-footer{width:min(calc(100% - var(--page-gutter)),var(--portfolio-content-width));box-sizing:border-box;color:var(--text-faint);text-align:center;justify-content:center;align-items:center;margin:-.5rem auto 0;padding:0 0 3.5rem;font-size:max(.64rem,min(1.45vw,.76rem));font-weight:400;line-height:1.4;display:flex;overflow:hidden}.portfolio-footer__line{white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.38rem;width:100%;min-width:0;margin:0;display:flex}.portfolio-footer__item,.portfolio-footer__stat{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:.24rem;min-width:0;display:inline-flex}.portfolio-footer__item,.portfolio-footer__separator,.portfolio-footer__stat-label{color:var(--text-faint)}.portfolio-footer__separator{white-space:nowrap;flex-shrink:0;align-items:center;font-weight:400;display:inline-flex}.portfolio-footer__stat{white-space:nowrap}.portfolio-footer__stat-label{letter-spacing:.04em;font-weight:520}.portfolio-footer__stat-value{min-width:1ch;color:var(--text-muted);font-variant-numeric:tabular-nums}.archive-shell{width:min(calc(100% - var(--page-gutter)),var(--portfolio-content-width));margin:0 auto}.post-detail{width:100%}.post-detail>*+*{margin-top:2rem}.post-header,.post-body-inner{box-sizing:border-box;width:100%;max-width:var(--post-content-width);margin:0 auto;padding-left:max(1.25rem,min(4vw,2.25rem));padding-right:max(1.25rem,min(4vw,2.25rem))}.post-body-shell{background:var(--post-surface);border-top:1px solid var(--post-border);border-bottom:1px solid var(--post-border);width:100%}.post-body-inner{padding-top:max(2.8rem,min(5vw,4.5rem));padding-bottom:max(4rem,min(7vw,6rem))}.post-body-inner .post-content{max-width:var(--markdown-content-width)}.archive-shell>*+*{margin-top:2rem}.archive-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.archive-header h1,.post-header h1{color:var(--text-heading);margin-top:.45rem;font-size:max(2rem,min(5vw,3.25rem));font-weight:750;line-height:1.25}.archive-header p:last-child,.post-header__description{max-width:620px;color:var(--text-muted);margin-top:.65rem;font-size:.96rem;line-height:1.8}.post-admin-actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1.1rem;display:flex}.post-admin-delete-form{margin:0}.post-admin-action{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--portfolio-surface);min-height:2rem;color:var(--text-heading);justify-content:center;align-items:center;padding:.42rem .85rem;font-size:.82rem;font-weight:680;line-height:1;text-decoration:none;display:inline-flex}.post-admin-action:hover{border-color:var(--primary);background:var(--accent-muted);color:var(--primary-dark)}.post-admin-action:focus-visible{border-color:var(--primary);background:var(--accent-muted);color:var(--primary-dark)}.post-admin-action--danger{color:#dc2626}.post-admin-action--danger:hover{color:#b91c1c;background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.38)}.post-admin-action--danger:focus-visible{color:#b91c1c;background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.38)}:root[data-theme=dark] .post-admin-action--danger{color:#fca5a5}:root[data-theme=dark] .post-admin-action--danger:hover{color:#fecaca;background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.4)}:root[data-theme=dark] .post-admin-action--danger:focus-visible{color:#fecaca;background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.4)}.archive-grid{gap:.85rem;display:grid}.archive-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);padding:1.2rem;text-decoration:none;display:block}.archive-card:hover{border-color:var(--primary);background:var(--portfolio-surface)}@supports (color:color-mix(in lab, red, red)){.archive-card:hover{background:color-mix(in srgb,var(--portfolio-surface)78%,var(--accent-muted))}}.archive-card h2{color:var(--text-heading);font-size:1.15rem;font-weight:720}.archive-card p{color:var(--text-muted);margin-top:.45rem;font-size:.9rem;line-height:1.65}.admin-post-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);color:inherit;box-shadow:var(--shadow-sm);cursor:pointer;gap:.95rem;padding:1.2rem;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s,background-color .18s;display:grid}.admin-post-card:hover{border-color:var(--primary);transform:translateY(-2px)}.admin-post-card:focus-visible{border-color:var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.admin-post-card:hover{border-color:color-mix(in srgb,var(--primary)62%,var(--border-default))}.admin-post-card:focus-visible{border-color:color-mix(in srgb,var(--primary)62%,var(--border-default))}}.admin-post-card:hover{background:var(--portfolio-surface)}.admin-post-card:focus-visible{background:var(--portfolio-surface)}@supports (color:color-mix(in lab, red, red)){.admin-post-card:hover{background:color-mix(in srgb,var(--portfolio-surface)84%,var(--accent-muted))}.admin-post-card:focus-visible{background:color-mix(in srgb,var(--portfolio-surface)84%,var(--accent-muted))}}.admin-post-card:hover{box-shadow:var(--shadow-card)}.admin-post-card:focus-visible{box-shadow:var(--shadow-card)}.admin-post-card__eyebrow{color:var(--text-muted);font-size:.86rem;line-height:1.65}.admin-post-card__title{color:var(--text-heading);margin-top:.35rem;font-size:max(1.08rem,min(1vw,1.28rem));font-weight:740;line-height:1.45}.admin-post-card__excerpt{-webkit-line-clamp:2;color:var(--text-muted);-webkit-box-orient:vertical;margin-top:.75rem;font-size:.92rem;line-height:1.7;display:-webkit-box;overflow:hidden}.admin-post-card__footer{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.82rem;line-height:1.5;display:flex}.admin-status-badge{border:1px solid var(--border-default);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;min-height:1.55rem;padding:.22rem .55rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.admin-status-badge--published{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-status-badge--published{border-color:color-mix(in srgb,var(--primary)34%,var(--border-default))}}.admin-status-badge--published{background:var(--accent-muted);color:var(--primary-dark)}.admin-status-badge--private{border-color:var(--border-default);background:var(--portfolio-surface-muted);color:var(--text-muted)}.archive-list{border-top:1px solid var(--border-default)}.archive-post-link{border-bottom:1px solid var(--border-default);padding:1.4rem 0;text-decoration:none;display:block}.archive-post-link:hover .archive-post-title{color:var(--primary-dark)}.archive-post-layout{grid-template-columns:1fr;align-items:center;gap:0;display:grid}.archive-post-layout.has-thumbnail{grid-template-columns:minmax(0,1fr) max(13.75rem,min(28vw,16.25rem));gap:max(2rem,min(4vw,2.5rem))}.archive-post-layout.no-thumbnail{grid-template-columns:1fr}.archive-post-content{min-width:0}.archive-post-title{-webkit-line-clamp:2;color:var(--text-heading);-webkit-box-orient:vertical;font-size:1.35rem;font-weight:720;line-height:1.45;display:-webkit-box;overflow:hidden}.archive-post-excerpt{-webkit-line-clamp:3;color:var(--text-muted);-webkit-box-orient:vertical;margin-top:.65rem;font-size:.94rem;line-height:1.8;display:-webkit-box;overflow:hidden}.archive-post-date{color:var(--text-faint);margin-top:.9rem;font-size:.78rem;display:block}.archive-post-thumbnail{aspect-ratio:16/9;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface-muted);justify-self:end;width:100%;overflow:hidden}.archive-post-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.archive-load-more-wrap{justify-content:center;gap:.75rem;padding-top:1.5rem;display:flex}.archive-load-more{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--portfolio-surface);min-height:2.35rem;color:var(--primary-dark);justify-content:center;align-items:center;padding:.55rem 1rem;font-size:.86rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.archive-load-more:hover{border-color:var(--primary);background:var(--accent-muted)}.archive-load-more:focus-visible{border-color:var(--primary);background:var(--accent-muted)}.markdown-content{--markdown-body-color:rgba(0,0,0,.82);--markdown-muted-color:rgba(0,0,0,.62);--markdown-divider-color:rgba(0,0,0,.14);width:100%;max-width:var(--markdown-content-width);color:var(--markdown-body-color);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",var(--font-geist-sans),system-ui,sans-serif;overflow-wrap:break-word;word-break:keep-all;margin-left:auto;margin-right:auto;font-size:1.125rem;line-height:1.92}:root[data-theme=dark] .markdown-content{--markdown-body-color:rgba(237,237,237,.86);--markdown-muted-color:rgba(237,237,237,.66);--markdown-divider-color:rgba(237,237,237,.18)}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--text-heading);letter-spacing:0;margin:3.1em 0 .75em;font-weight:720;line-height:1.38}.markdown-content h1{font-size:2.125rem}.markdown-content h2{font-size:1.625rem}.markdown-content h3{font-size:1.35rem}.markdown-content h4{font-size:1.12rem}.markdown-content p{white-space:pre-line;margin:22px 0}.markdown-content strong{color:var(--text-heading);font-weight:720}.markdown-content ul,.markdown-content ol{line-height:inherit;margin:22px 0;padding-left:1.45em}.markdown-content ul{list-style:outside}.markdown-content ol{list-style:decimal}.markdown-content li+li{margin-top:.42em}.markdown-content li>p{margin:.65em 0}.markdown-content a{color:var(--primary-dark);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.markdown-content hr{border:0;border-top:1px solid var(--markdown-divider-color);margin:44px 0}.markdown-content img{border:1px solid var(--border-default);border-radius:var(--radius-card);max-width:100%;height:auto;margin:32px auto;display:block}.markdown-content figure{margin:32px 0}.markdown-content pre{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--code-bg);margin:32px 0;padding:1rem 1.25rem;line-height:1.65;overflow-x:auto}.markdown-content pre code{color:var(--code-text);white-space:pre;background:0 0;border-radius:0;padding:0;font-size:.875rem}.markdown-content code{background:var(--code-inline-bg);color:var(--code-text);word-break:break-word;border-radius:.3rem;padding:.15rem .35rem;font-size:.875em}.markdown-content blockquote{border-left:3px solid var(--primary);margin:32px 0}@supports (color:color-mix(in lab, red, red)){.markdown-content blockquote{border-left:3px solid color-mix(in srgb,var(--primary)72%,transparent)}}.markdown-content blockquote{color:var(--markdown-muted-color);background:0 0;padding:.1rem 0 .1rem 1.15rem}.markdown-content blockquote p{margin:.65em 0}.markdown-content table{border-collapse:collapse;border:1px solid var(--border-default);width:100%;margin:32px 0;display:block;overflow-x:auto}.markdown-content th,.markdown-content td{border:1px solid var(--border-default);text-align:left;padding:.75rem}input,textarea,select{color:var(--text-heading)}input::placeholder,textarea::placeholder{color:var(--text-faint)}.page-intro{max-width:760px}.page-intro h1{color:var(--text-heading);margin-top:.45rem;font-size:max(2.25rem,min(8vw,3.4rem));font-weight:750;line-height:1.2}.page-intro p:last-child{max-width:660px;color:var(--text-muted);margin-top:.8rem;font-size:1rem;line-height:1.8}.track-grid,.writing-preview-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1rem;display:grid}.project-card--detail{scroll-margin-top:5rem}.contact-actions{flex-wrap:wrap;gap:.65rem;display:flex}.contact-actions .text-link{margin-top:0}.contact-actions--stacked{flex-direction:column;align-items:flex-start}.about-summary{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);box-shadow:var(--shadow-card);grid-template-columns:9.75rem minmax(0,1fr);align-items:center;gap:max(1.25rem,min(4vw,2.75rem));padding:max(1.25rem,min(4vw,2rem));display:grid}.about-summary__image{aspect-ratio:1;border:1px solid var(--border-default);align-self:center;width:max(8.75rem,min(20vw,9.75rem));overflow:hidden}@supports (color:color-mix(in lab, red, red)){.about-summary__image{border:1px solid color-mix(in srgb,var(--border-default)86%,var(--primary))}}.about-summary__image{background:var(--portfolio-surface-muted);border-radius:50%;box-shadow:0 14px 28px rgba(47,70,56,.1)}.about-summary__content{align-self:center}.about-summary__image img{object-fit:cover;object-position:center;width:100%;height:100%}.about-summary__name{color:var(--text-heading);font-size:max(1.3rem,min(4vw,1.65rem));font-weight:740;line-height:1.25}.about-summary__headline{color:var(--text-muted);margin-top:.25rem;font-size:.98rem;font-weight:560;line-height:1.7}.about-summary__text{color:var(--text-muted);margin-top:.55rem;font-size:.94rem;line-height:1.8}.about-summary .profile-list{border-top:0;gap:.65rem;margin-top:1.25rem;padding-top:0}.about-summary .profile-list li{color:var(--text-muted);padding-left:1.15rem;line-height:1.7}.about-summary .profile-list li:before{background:var(--primary);width:.42rem;height:.42rem;top:.78rem}@supports (color:color-mix(in lab, red, red)){.about-summary .profile-list li:before{background:color-mix(in srgb,var(--primary)84%,#fff)}}.about-summary .profile-list li:before{box-shadow:0 0 0 .18rem var(--primary)}@supports (color:color-mix(in lab, red, red)){.about-summary .profile-list li:before{box-shadow:0 0 0 .18rem color-mix(in srgb,var(--primary)12%,transparent)}}.award-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);box-shadow:var(--shadow-sm);padding:max(1.15rem,min(4vw,1.6rem))}.award-list{gap:.55rem;display:grid}.award-list li{color:var(--text-muted);padding-left:1rem;font-size:.93rem;line-height:1.65;position:relative}.award-list li:before{background:var(--primary);content:"";border-radius:999px;width:.35rem;height:.35rem;position:absolute;top:.72rem;left:0}.tech-stack-section{gap:2rem;display:grid}.tech-stack-section .section-heading{margin-bottom:0}.tech-stack-group{gap:1rem;display:grid}.tech-stack-group+.tech-stack-group{margin-top:0}.tech-stack-group h3{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.95rem;font-weight:740;line-height:1.4}.tech-skill-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.tech-skill-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);width:100%;min-height:4.5rem;box-shadow:var(--shadow-sm);color:var(--text-body);align-items:center;gap:.65rem;padding:.95rem 1.25rem;font-size:.88rem;font-weight:650;line-height:1.3;transition:transform .18s,border-color .18s,box-shadow .18s,background-color .18s;display:flex}.tech-skill-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-3px)}.tech-skill-card__icon{object-fit:contain;flex:none;width:1.55rem;height:1.55rem;display:block}.tech-skill-card span{white-space:nowrap;min-width:0}.works-publications-section{gap:1.45rem;margin-top:4.25rem;display:grid}.works-publications-section .section-heading{margin-bottom:0}.publication-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.publication-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);min-height:100%;box-shadow:var(--shadow-sm);color:inherit;grid-template-rows:auto 1fr;gap:1.1rem;padding:1.25rem;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:grid}.publication-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-2px)}.publication-card:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px}.publication-card__cover-wrap{border-radius:var(--radius-card);background:var(--portfolio-surface-muted);justify-content:center;align-items:center;min-height:9.6rem;display:flex}.publication-card__cover,.publication-card__cover-placeholder{border:1px solid var(--border-default);border-radius:var(--radius-small);width:6.75rem;height:9.75rem;box-shadow:var(--shadow-sm)}.publication-card__cover{object-fit:cover;display:block}.publication-card__cover-placeholder{color:var(--text-faint);justify-content:center;align-items:center;font-size:.76rem;font-weight:700;display:inline-flex}.publication-card__body{grid-template-rows:auto auto 1fr;gap:.6rem;min-width:0;display:grid}.publication-card__title{min-height:3rem;color:var(--text-heading);letter-spacing:0;font-size:1.05rem;font-weight:740;line-height:1.45}.publication-card__description{-webkit-line-clamp:2;min-height:3.15rem;color:var(--text-muted);-webkit-box-orient:vertical;font-size:.92rem;line-height:1.7;display:-webkit-box;overflow:hidden}.publication-card__footer{justify-content:space-between;align-self:end;align-items:end;gap:1rem;margin-top:.2rem;display:flex}.publication-card__label{border:1px solid var(--border-default);align-items:center;min-height:1.8rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.publication-card__label{border:1px solid color-mix(in srgb,var(--border-default)78%,var(--primary))}}.publication-card__label{border-radius:var(--radius-pill);background:var(--accent-muted);color:var(--primary-dark);padding:.35rem .7rem;font-size:.73rem;font-weight:700;line-height:1}.publication-card__arrow{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--accent-muted);width:2.25rem;height:2.25rem;color:var(--primary-dark);flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;line-height:1;transition:transform .16s,border-color .16s,background-color .16s,color .16s;display:inline-flex}.publication-card:hover .publication-card__arrow{border-color:var(--primary);background:var(--primary);color:var(--portfolio-bg);transform:translate(2px)}.activities-exhibition-section{gap:1.45rem;margin-top:4.25rem;display:grid}.activities-exhibition-section .section-heading{margin-bottom:0}.activity-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.activity-showcase-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--portfolio-surface);min-height:100%;box-shadow:var(--shadow-sm);grid-template-rows:auto 1fr;gap:1.1rem;padding:1.25rem;transition:transform .22s,border-color .22s,box-shadow .22s,background-color .22s;display:grid}.activity-showcase-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-4px)}.activity-showcase-card__image-frame{border-radius:var(--radius-card);width:11.25rem;height:15rem;box-shadow:none;background:0 0;border:0;outline:0;justify-content:center;justify-self:center;align-items:center;display:flex;overflow:hidden}.activity-showcase-card__image{border-radius:var(--radius-small);width:100%;height:100%;box-shadow:none;object-fit:contain;border:0;outline:0;transition:transform .24s;display:block}.activity-showcase-card:hover .activity-showcase-card__image{transform:scale(1.02)}.activity-showcase-card__body{grid-template-rows:auto auto 1fr;gap:.6rem;min-width:0;display:grid}.activity-showcase-card__body h3{min-height:3rem;color:var(--text-heading);letter-spacing:0;font-size:1.05rem;font-weight:740;line-height:1.45}.activity-showcase-card__body p{-webkit-line-clamp:3;min-height:4.7rem;color:var(--text-muted);-webkit-box-orient:vertical;font-size:.92rem;line-height:1.7;display:-webkit-box;overflow:hidden}.activity-showcase-card__meta{justify-content:space-between;align-self:end;align-items:end;gap:1rem;margin-top:.25rem;display:flex}.activity-showcase-card__meta span{border:1px solid var(--border-default);align-items:center;min-height:1.8rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.activity-showcase-card__meta span{border:1px solid color-mix(in srgb,var(--border-default)78%,var(--primary))}}.activity-showcase-card__meta span{border-radius:var(--radius-pill);background:var(--accent-muted);color:var(--primary-dark);padding:.35rem .7rem;font-size:.73rem;font-weight:700;line-height:1}.activity-showcase-card__meta time{color:var(--text-faint);font-size:.78rem;font-weight:650;line-height:1.8}.detail-list{border-top:1px solid var(--border-default);gap:.9rem;margin-top:1rem;padding-top:1rem;display:grid}.detail-list div{gap:.25rem;display:grid}.detail-list dt{color:var(--text-faint);font-size:.76rem;font-weight:700}.detail-list dd{color:var(--text-muted);font-size:.94rem;line-height:1.65}@media (max-width:1023px){.about-summary{grid-template-columns:8.75rem minmax(0,1fr)}.tech-skill-grid,.publication-grid,.activity-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){:root{--page-gutter:32px;--site-header-height:60px}.site-header{padding:.45rem 0}.site-brand{font-size:.86rem}.site-nav{display:none}.site-header__actions{gap:.35rem}.site-menu-toggle{width:2.25rem;height:2.25rem;display:inline-flex}.site-mobile-menu{width:min(14rem,calc(100vw - var(--page-gutter)));display:grid;top:calc(100% + .55rem);left:auto;right:0}.link-pill{min-height:2.05rem;padding:.48rem .75rem;font-size:.8rem}.theme-toggle{width:2.25rem;height:2.25rem}.portfolio-main>*+*{margin-top:3.6rem}.hero-section h1{margin-top:.9rem;line-height:1.08}.hero-social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.social-link-pill{gap:.42rem;width:100%;min-height:2.55rem;padding:0 .7rem;font-size:.84rem}.social-link-pill__icon,.social-link-pill__image{width:1rem;height:1rem}.section-heading{margin-bottom:1.15rem}.section-eyebrow{letter-spacing:.15em;font-size:.66rem}.section-title{font-size:1.32rem}.section-description,.contact-card__description,.about-summary__text,.profile-list li,.award-list li{font-size:.9rem;line-height:1.65}.about-summary{grid-template-columns:1fr;gap:1.2rem;padding:1.25rem}.about-summary__image{justify-self:center;width:min(48vw,10rem)}.about-summary .profile-list{gap:.45rem;margin-top:1rem}.award-list{gap:.45rem}.tech-stack-section{gap:1.45rem}.tech-stack-group{gap:.75rem}.tech-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tech-skill-card{gap:.55rem;min-height:4.75rem;padding:.875rem 1rem;font-size:max(.84rem,min(3.35vw,.92rem));line-height:1.2}.tech-skill-card__icon{width:1.45rem;height:1.45rem}.works-publications-section,.activities-exhibition-section{gap:1rem;margin-top:3rem}.publication-grid,.activity-showcase-grid{grid-template-columns:1fr}.publication-card{grid-template-rows:auto;grid-template-columns:5.9rem minmax(0,1fr);align-items:center;gap:.85rem;padding:.95rem}.publication-card__cover-wrap{min-height:0}.publication-card__cover,.publication-card__cover-placeholder{width:5.15rem;height:7.45rem}.publication-card__body{gap:.45rem}.publication-card__title,.activity-showcase-card__body h3{min-height:0;font-size:.98rem;line-height:1.4}.publication-card__description,.activity-showcase-card__body p{min-height:0;font-size:.86rem;line-height:1.55}.publication-card__footer,.activity-showcase-card__meta{gap:.55rem}.publication-card__label,.activity-showcase-card__meta span{min-height:1.55rem;padding:.28rem .56rem;font-size:.68rem}.publication-card__arrow{width:1.9rem;height:1.9rem}.activity-showcase-card{grid-template-rows:auto;grid-template-columns:6.25rem minmax(0,1fr);align-items:center;gap:.85rem;padding:.95rem}.activity-showcase-card__image-frame{width:5.9rem;height:7.9rem}.activity-showcase-card__body{gap:.45rem}.activity-showcase-card__meta{flex-wrap:wrap;align-items:center}.contact-card{padding:1.15rem}.portfolio-footer{padding-bottom:2.5rem;font-size:max(.56rem,min(2.4vw,.68rem))}.portfolio-footer__line{letter-spacing:-.01em;gap:.24rem}.archive-post-link{padding:1.15rem 0}.archive-post-layout.has-thumbnail{grid-template-columns:minmax(0,1fr) 96px;align-items:flex-start;gap:1rem}.archive-post-layout.no-thumbnail{grid-template-columns:1fr}.archive-post-title{font-size:1.04rem;line-height:1.38}.archive-post-excerpt{margin-top:.5rem;font-size:.86rem;line-height:1.6}.archive-post-layout.has-thumbnail .archive-post-excerpt{-webkit-line-clamp:3}.archive-post-layout.no-thumbnail .archive-post-excerpt{-webkit-line-clamp:4}.archive-post-date{margin-top:.75rem}.archive-post-thumbnail{aspect-ratio:1;border-radius:var(--radius-small);align-self:flex-start;width:96px}.markdown-content{font-size:1.0625rem;line-height:1.88}.markdown-content h1{font-size:1.9rem}.markdown-content h2{font-size:1.5rem}.markdown-content h3{font-size:1.25rem}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin-top:2.7em}.markdown-content p,.markdown-content ul,.markdown-content ol{margin-top:20px;margin-bottom:20px}.markdown-content hr{margin:36px 0}.markdown-content img,.markdown-content figure,.markdown-content pre,.markdown-content blockquote,.markdown-content table{margin-top:28px;margin-bottom:28px}}@media (max-width:479px){:root{--page-gutter:28px}.hero-section h1{font-size:max(2.35rem,min(11vw,2.9rem))}.section-eyebrow{letter-spacing:.13em;font-size:.6rem}.social-link-pill{min-height:2.4rem;padding-left:.55rem;padding-right:.55rem;font-size:.8rem}.tech-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.tech-skill-card{gap:.45rem;min-height:4.375rem;padding:.75rem;font-size:max(.8rem,min(3.8vw,.88rem))}.tech-skill-card__icon{width:1.3rem;height:1.3rem}.publication-card{grid-template-columns:5.2rem minmax(0,1fr)}.activity-showcase-card{grid-template-columns:5.55rem minmax(0,1fr)}.publication-card__cover,.publication-card__cover-placeholder{width:4.65rem;height:6.75rem}.activity-showcase-card__image-frame{width:5.2rem;height:7rem}.portfolio-footer__line{letter-spacing:-.03em;gap:.18rem;font-size:max(.48rem,min(2.35vw,.56rem))}.archive-post-layout.no-thumbnail .archive-post-excerpt{-webkit-line-clamp:4}.markdown-content{font-size:1rem;line-height:1.86}.markdown-content h1{font-size:1.75rem}.markdown-content h2{font-size:1.38rem}.markdown-content h3{font-size:1.18rem}.markdown-content p,.markdown-content ul,.markdown-content ol{margin-top:18px;margin-bottom:18px}}@media (max-width:360px){.archive-post-layout.has-thumbnail{grid-template-columns:1fr}.archive-post-thumbnail{display:none}}html:not([data-theme=dark]),html:not([data-theme=dark]) body,html:not([data-theme=dark]) .portfolio-page,html:not([data-theme=dark]) .portfolio-main,html:not([data-theme=dark]) .post-body-shell{background:#fff!important}html:not([data-theme=dark]) .site-header{background:rgba(255,255,255,.9)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
