@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.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.0wkzw~je483f-.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.0rhz0arwfsn~5.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.0l76wvqk9d84w.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.0k4k9394f2q-k.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-20C4,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.08e28id.o-okb.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"}
@font-face{font-family:notoKR;src:url(../media/NotoSansKR-s.p.100o9x_nvhq4q.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:notoKR Fallback;src:local(Arial);ascent-override:117.61%;descent-override:29.2%;line-gap-override:0.0%;size-adjust:98.63%}.notokr_f8aac385-module__-ZvyOq__className{font-family:notoKR,notoKR Fallback}.notokr_f8aac385-module__-ZvyOq__variable{--font-noto-kr:"notoKR", "notoKR 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,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-200:#ffcaca;--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-emerald-400:#00d294;--color-blue-400:#54a2ff;--color-purple-400:#c07eff;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--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);--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:calc(var(--radius) * .8);--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-noto-kr), system-ui, sans-serif;--default-mono-font-family:var(--font-geist-mono), "Courier New", monospace}@supports (color:lab(0% 0 0)){:root,:host{--color-red-200:lab(86.017% 19.8815 7.75869);--color-red-300:lab(76.5514% 36.422 15.5335);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-purple-400:lab(63.6946% 47.6127 -59.2066)}}}@layer base{*,:after,:before,::backdrop{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%;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:#0000;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:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end: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-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-noto-kr), system-ui, sans-serif}html{font-family:var(--font-noto-kr), system-ui, sans-serif}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-5{top:calc(var(--spacing) * 5)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-50{z-index:50}.z-\[500\]{z-index:500}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.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-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.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}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-20{height:calc(var(--spacing) * 20)}.h-full{height:100%}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-\[32rem\]{min-height:32rem}.min-h-\[calc\(100vh-57px\)\]{min-height:calc(100vh - 57px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-40{width:calc(var(--spacing) * 40)}.w-56{width:calc(var(--spacing) * 56)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end: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-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end: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-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end: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-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[\#ccff00\]{border-color:#cf0}.border-\[\#ccff00\]\/20{border-color:#cf03;border-color:lab(93.9363% -35.8091 88.7913/.2)}.border-\[\#ccff00\]\/25{border-color:#ccff0040;border-color:lab(93.9363% -35.8091 88.7913/.25)}.border-\[\#ccff00\]\/30{border-color:#ccff004d;border-color:lab(93.9363% -35.8091 88.7913/.3)}.border-border{border-color:var(--border)}.border-emerald-400\/20{border-color:#00d29433}@supports (color:color-mix(in lab, red, red)){.border-emerald-400\/20{border-color:color-mix(in oklab, var(--color-emerald-400) 20%, transparent)}}.border-red-300\/40{border-color:#ffa3a366}@supports (color:color-mix(in lab, red, red)){.border-red-300\/40{border-color:color-mix(in oklab, var(--color-red-300) 40%, transparent)}}.border-red-400{border-color:var(--color-red-400)}.border-red-400\/20{border-color:#ff656833}@supports (color:color-mix(in lab, red, red)){.border-red-400\/20{border-color:color-mix(in oklab, var(--color-red-400) 20%, transparent)}}.border-red-500\/15{border-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.border-red-500\/15{border-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-transparent{border-color:#0000}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.border-white\/8{border-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.border-white\/12{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-\[\#020202\]{background-color:#020202}.bg-\[\#020202\]\/95{background-color:#020202f2;background-color:lab(.548349% 0 0/.95)}.bg-\[\#080808\]{background-color:#080808}.bg-\[\#ccff00\]{background-color:#cf0}.bg-\[\#ccff00\]\/8{background-color:#ccff0014;background-color:lab(93.9363% -35.8091 88.7913/.08)}.bg-background{background-color:var(--background)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-primary{background-color:var(--primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white\/4{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.bg-white\/4{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/8{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/8{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.bg-white\/\[0\.035\]{background-color:#ffffff09}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.035\]{background-color:color-mix(in oklab, var(--color-white) 3.5%, transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#ccff00\]\/50{--tw-gradient-from:#ccff0080;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color:lab(0% 0 0)){.from-\[\#ccff00\]\/50{--tw-gradient-from:lab(93.9363% -35.8091 88.7913/.5)}}.to-\[\#ccff00\]{--tw-gradient-to:#cf0;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-padding{background-clip:padding-box}.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)}.p-10{padding:calc(var(--spacing) * 10)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-geist-mono), "Courier New", monospace}.font-sans{font-family:var(--font-noto-kr), system-ui, sans-serif}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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\.8rem\]{font-size:.8rem}.text-\[1\.6rem\]{font-size:1.6rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.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)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.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)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#ccff00\]{color:#cf0}.text-\[\#ccff00\]\/40{color:#cf06;color:lab(93.9363% -35.8091 88.7913/.4)}.text-\[\#ccff00\]\/50{color:#ccff0080;color:lab(93.9363% -35.8091 88.7913/.5)}.text-\[\#ccff00\]\/60{color:#cf09;color:lab(93.9363% -35.8091 88.7913/.6)}.text-\[\#ccff00\]\/70{color:#ccff00b3;color:lab(93.9363% -35.8091 88.7913/.7)}.text-\[\#ccff00\]\/75{color:#ccff00bf;color:lab(93.9363% -35.8091 88.7913/.75)}.text-\[\#ccff00\]\/80{color:#cf0c;color:lab(93.9363% -35.8091 88.7913/.8)}.text-black{color:var(--color-black)}.text-blue-400\/50{color:#54a2ff80}@supports (color:color-mix(in lab, red, red)){.text-blue-400\/50{color:color-mix(in oklab, var(--color-blue-400) 50%, transparent)}}.text-destructive{color:var(--destructive)}.text-emerald-400\/50{color:#00d29480}@supports (color:color-mix(in lab, red, red)){.text-emerald-400\/50{color:color-mix(in oklab, var(--color-emerald-400) 50%, transparent)}}.text-emerald-400\/60{color:#00d29499}@supports (color:color-mix(in lab, red, red)){.text-emerald-400\/60{color:color-mix(in oklab, var(--color-emerald-400) 60%, transparent)}}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-400\/50{color:#c07eff80}@supports (color:color-mix(in lab, red, red)){.text-purple-400\/50{color:color-mix(in oklab, var(--color-purple-400) 50%, transparent)}}.text-red-200{color:var(--color-red-200)}.text-red-300\/70{color:#ffa3a3b3}@supports (color:color-mix(in lab, red, red)){.text-red-300\/70{color:color-mix(in oklab, var(--color-red-300) 70%, transparent)}}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab, red, red)){.text-red-400\/50{color:color-mix(in oklab, var(--color-red-400) 50%, transparent)}}.text-red-400\/60{color:#ff656899}@supports (color:color-mix(in lab, red, red)){.text-red-400\/60{color:color-mix(in oklab, var(--color-red-400) 60%, transparent)}}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab, red, red)){.text-white\/20{color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.text-white\/25{color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.text-white\/25{color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\/30{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.text-white\/35{color:#ffffff59}@supports (color:color-mix(in lab, red, red)){.text-white\/35{color:color-mix(in oklab, var(--color-white) 35%, transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.text-white\/45{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[\#ccff00\]{accent-color:#cf0}.accent-white{accent-color:var(--color-white)}.\[color-scheme\:dark\]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.placeholder\:text-white\/20::placeholder{color:#fff3}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-white\/20::placeholder{color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.placeholder\:text-white\/45::placeholder{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-white\/45::placeholder{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}@media (hover:hover){.hover\:border-\[\#ccff00\]\/30:hover{border-color:#ccff004d;border-color:lab(93.9363% -35.8091 88.7913/.3)}.hover\:border-\[\#ccff00\]\/50:hover{border-color:#ccff0080;border-color:lab(93.9363% -35.8091 88.7913/.5)}.hover\:border-red-400\/50:hover{border-color:#ff656880}@supports (color:color-mix(in lab, red, red)){.hover\:border-red-400\/50:hover{border-color:color-mix(in oklab, var(--color-red-400) 50%, transparent)}}.hover\:border-red-500\/40:hover{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.hover\:border-red-500\/40:hover{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:bg-\[\#ccff00\]:hover{background-color:#cf0}.hover\:bg-\[\#ccff00\]\/10:hover{background-color:#ccff001a;background-color:lab(93.9363% -35.8091 88.7913/.1)}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-white\/4:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/4:hover{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.hover\:text-\[\#ccff00\]:hover{color:#cf0}.hover\:text-\[\#ccff00\]\/40:hover{color:#cf06;color:lab(93.9363% -35.8091 88.7913/.4)}.hover\:text-\[\#ccff00\]\/60:hover{color:#cf09;color:lab(93.9363% -35.8091 88.7913/.6)}.hover\:text-\[\#ccff00\]\/70:hover{color:#ccff00b3;color:lab(93.9363% -35.8091 88.7913/.7)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white\/50:hover{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/50:hover{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.hover\:text-white\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/70:hover{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-\[\#ccff00\]\/40:focus{border-color:#cf06;border-color:lab(93.9363% -35.8091 88.7913/.4)}.focus\:border-\[\#ccff00\]\/50:focus{border-color:#ccff0080;border-color:lab(93.9363% -35.8091 88.7913/.5)}.focus\:border-emerald-400\/50:focus{border-color:#00d29480}@supports (color:color-mix(in lab, red, red)){.focus\:border-emerald-400\/50:focus{border-color:color-mix(in oklab, var(--color-emerald-400) 50%, transparent)}}.focus\:bg-\[\#ccff00\]\/\[0\.025\]:focus{background-color:#ccff0006;background-color:lab(93.9363% -35.8091 88.7913/.025)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-\[\#ccff00\]\/60:focus-visible{--tw-ring-color:#cf09}@supports (color:lab(0% 0 0)){.focus-visible\:ring-\[\#ccff00\]\/60:focus-visible{--tw-ring-color:lab(93.9363% -35.8091 88.7913/.6)}}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-red-400\/60:focus-visible{--tw-ring-color:#ff656899}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-red-400\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-red-400) 60%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}@media (min-width:40rem){.sm\:block{display:block}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[96px_minmax\(0\,1fr\)_180px\]{grid-template-columns:96px minmax(0,1fr) 180px}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:px-7{padding-inline:calc(var(--spacing) * 7)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-8{padding-block:calc(var(--spacing) * 8)}.md\:pb-10{padding-bottom:calc(var(--spacing) * 10)}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}@media (hover:hover){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.portfolio-site.portfolio-home .classic-section-title{letter-spacing:-.045em;text-wrap:initial;font-size:clamp(2.8rem,5.4vw,5rem);font-weight:700;line-height:1.14}.portfolio-site.portfolio-home .classic-outline{color:#0000;-webkit-text-stroke:1px var(--accent)}.portfolio-site.portfolio-home :is(.classic-about,.classic-services,.classic-techstack,.classic-specs){border-top:1px solid var(--line);padding-block:92px}.portfolio-site.portfolio-home .classic-section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;display:flex}.portfolio-site.portfolio-home .classic-heading-note{color:var(--muted-ink);font-size:14px;line-height:1.8}.portfolio-site.portfolio-home .classic-section-heading .eyebrow,.portfolio-site.portfolio-home .classic-about-left>.eyebrow{color:var(--muted-ink);margin-bottom:22px;font-size:12px}.portfolio-site.portfolio-home .classic-about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;display:grid}.portfolio-site.portfolio-home .classic-profile-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:36px;overflow:hidden}.portfolio-site.portfolio-home .classic-panel-title{border-bottom:1px solid var(--line);font:12px var(--font-geist-mono), monospace;color:var(--muted-ink);align-items:center;gap:14px;padding:14px 20px;display:flex}.portfolio-site.portfolio-home .classic-window-dots{gap:7px;display:flex}.portfolio-site.portfolio-home .classic-window-dots i{background:#c88673;border-radius:50%;width:8px;height:8px}.portfolio-site.portfolio-home .classic-window-dots i:nth-child(2){background:#c4a675}.portfolio-site.portfolio-home .classic-window-dots i:nth-child(3){background:#94a58a}.portfolio-site.portfolio-home .classic-profile-body{padding:26px;font-size:15px}.portfolio-site.portfolio-home .classic-file-label{color:var(--accent);margin-bottom:14px;font-size:13px}.portfolio-site.portfolio-home .classic-terminal-facts{gap:10px;display:grid}.portfolio-site.portfolio-home .classic-terminal-facts>div{grid-template-columns:54px minmax(0,1fr);gap:14px;display:grid}.portfolio-site.portfolio-home .classic-terminal-facts dt{color:var(--muted-ink)}.portfolio-site.portfolio-home .classic-terminal-facts dd{overflow-wrap:anywhere}.portfolio-site.portfolio-home .classic-reason-label{margin-top:26px}.portfolio-site.portfolio-home .classic-reason{color:var(--accent)}.portfolio-site.portfolio-home .classic-profile-body>p:last-child{color:var(--muted-ink)}.portfolio-site.portfolio-home .classic-about-right{flex-direction:column;gap:28px;display:flex}.portfolio-site.portfolio-home .classic-skill-notes h3{color:var(--accent);margin-bottom:12px;font-size:14px;font-weight:500}.portfolio-site.portfolio-home .classic-skill-notes dl{display:grid}.portfolio-site.portfolio-home .classic-skill-notes dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,.85fr) minmax(0,1.2fr);gap:18px;padding-block:13px;display:grid}.portfolio-site.portfolio-home .classic-skill-notes dt{color:var(--ink);overflow-wrap:anywhere;font-size:15px}.portfolio-site.portfolio-home .classic-skill-notes dd{color:var(--muted-ink);white-space:pre-line;overflow-wrap:anywhere;font-size:13px}.portfolio-site.portfolio-home .classic-facts-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.portfolio-site.portfolio-home .classic-facts-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:20px}.portfolio-site.portfolio-home .classic-facts-grid dt{color:var(--muted-ink);margin-bottom:7px;font-size:12px}.portfolio-site.portfolio-home .classic-facts-grid dd{overflow-wrap:anywhere;font-size:18px;font-weight:600}.portfolio-site.portfolio-home .classic-facts-grid a{display:inline}.portfolio-site.portfolio-home .classic-facts-grid dd span{color:var(--accent)}.portfolio-site.portfolio-home .classic-quote{background:var(--surface-soft);border-left:2px solid var(--accent);border-radius:0 5px 5px 0;margin:0;padding:24px}.portfolio-site.portfolio-home .classic-quote p{color:var(--text-secondary);white-space:pre-line;font-size:15px;line-height:1.9}.portfolio-site.portfolio-home .classic-quote footer{color:var(--accent);margin-top:12px;font-size:13px}.portfolio-site.portfolio-home .classic-about-right>.text-link{align-self:flex-start}.portfolio-site.portfolio-home .classic-service-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.portfolio-site.portfolio-home .classic-service-card{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:32px}.portfolio-site.portfolio-home .classic-card-index{color:var(--muted-ink);font:12px var(--font-geist-mono), monospace;margin-bottom:28px;display:block}.portfolio-site.portfolio-home .classic-service-card dt{overflow-wrap:anywhere;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:700;line-height:1.4}.portfolio-site.portfolio-home .classic-service-subtitle{color:var(--muted-ink);margin-top:5px;font-size:13px}.portfolio-site.portfolio-home .classic-service-description{color:var(--text-secondary);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;margin-top:18px;font-size:15px;line-height:1.85}.portfolio-site.portfolio-home .classic-tag-list{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.portfolio-site.portfolio-home .classic-tag-list span{border:1px solid var(--line);color:var(--accent);overflow-wrap:anywhere;padding:4px 9px;font-size:12px}.portfolio-site.portfolio-home .classic-tech-panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:36px;display:grid}.portfolio-site.portfolio-home .classic-tech-category h3{color:var(--muted-ink);margin-bottom:18px;font-size:13px;font-weight:500}.portfolio-site.portfolio-home .classic-tech-tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.portfolio-site.portfolio-home .classic-tech-tags li{border:1px solid var(--line);color:var(--text-secondary);overflow-wrap:anywhere;padding:6px 11px;font-size:13px;line-height:1.6}.portfolio-site.portfolio-home .classic-tech-tags li.is-primary{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.portfolio-site.portfolio-home .classic-learning-panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;align-items:center;gap:28px;margin-top:18px;padding:28px 32px;display:flex}.portfolio-site.portfolio-home .classic-learning-panel h3{color:var(--muted-ink);flex-shrink:0;font-size:13px;font-weight:500}.portfolio-site.portfolio-home .classic-learning-panel .classic-tech-tags li{border-style:dashed}.portfolio-site.portfolio-home .classic-experience-link{margin-top:24px}.portfolio-site.portfolio-home .classic-spec-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:none;padding:0;list-style:none;display:grid}.portfolio-site.portfolio-home .classic-spec-card{--spec-accent:var(--accent-ink);--spec-border:var(--border-soft);background:var(--surface);border:1px solid var(--spec-border);border-radius:5px;padding:30px;display:block;position:relative}.portfolio-site.portfolio-home .classic-spec-card.tone-award{--spec-accent:var(--accent-ink);--spec-border:var(--border-soft);background:var(--accent-soft)}.portfolio-site.portfolio-home .classic-spec-card.tone-certificate{--spec-accent:var(--info);--spec-border:var(--border-soft);background:var(--surface)}.portfolio-site.portfolio-home .classic-spec-card.tone-competition{--spec-accent:var(--success);--spec-border:var(--border-soft);background:var(--surface)}.portfolio-site.portfolio-home .classic-spec-card.tone-project{--spec-accent:var(--accent-ink);--spec-border:var(--border-soft);background:var(--surface)}.portfolio-site.portfolio-home .classic-spec-index{color:var(--border-soft);pointer-events:none;font-size:56px;font-weight:700;line-height:1;position:absolute;top:18px;right:22px}.portfolio-site.portfolio-home .classic-spec-meta{color:var(--muted-ink);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-size:12px;display:flex;position:relative}.portfolio-site.portfolio-home .classic-category-label{border:1px solid var(--spec-border);color:var(--spec-accent);padding:3px 9px}.portfolio-site.portfolio-home .classic-spec-card h3{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:650;line-height:1.5;position:relative}.portfolio-site.portfolio-home .classic-spec-award{color:var(--accent);border:1px solid var(--line);background:var(--accent-soft);margin-top:12px;padding:3px 9px;font-size:13px;display:inline-block}.portfolio-site.portfolio-home .classic-spec-organization{color:var(--spec-accent);white-space:pre-line;margin-top:14px;font-size:13px;line-height:1.8}.portfolio-site.portfolio-home .classic-spec-description{color:var(--text-secondary);border-top:1px solid var(--spec-border);white-space:pre-line;margin-top:18px;padding-top:18px;font-size:15px;line-height:1.85}@media (max-width:900px){.portfolio-site.portfolio-home .classic-about-grid{grid-template-columns:minmax(0,1fr);gap:40px}.portfolio-site.portfolio-home .classic-about-right{gap:24px}.portfolio-site.portfolio-home .classic-tech-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:28px}}@media (max-width:640px){.portfolio-site.portfolio-home :is(.classic-about,.classic-services,.classic-techstack,.classic-specs){padding-block:56px}.portfolio-site.portfolio-home .classic-section-title{font-size:clamp(2.5rem,11vw,3.2rem);line-height:1.18}.portfolio-site.portfolio-home .classic-section-heading{margin-bottom:30px;display:block}.portfolio-site.portfolio-home .classic-heading-note,.portfolio-site.portfolio-home .classic-section-heading>.text-link{margin-top:24px}.portfolio-site.portfolio-home .classic-profile-body{padding:22px}.portfolio-site.portfolio-home .classic-service-grid,.portfolio-site.portfolio-home .classic-spec-grid,.portfolio-site.portfolio-home .classic-tech-panel{grid-template-columns:minmax(0,1fr)}.portfolio-site.portfolio-home .classic-service-card,.portfolio-site.portfolio-home .classic-spec-card{padding:24px}.portfolio-site.portfolio-home .classic-learning-panel{flex-direction:column;align-items:flex-start;gap:18px;padding:24px}.portfolio-site.portfolio-home .classic-facts-grid>div{padding:16px}.portfolio-site.portfolio-home .classic-facts-grid dd{font-size:16px}.portfolio-site.portfolio-home .classic-skill-notes dl>div{grid-template-columns:minmax(100px,.9fr) minmax(0,1.1fr);gap:12px}}.portfolio-site .project-dialog{border:1px solid var(--line);background:var(--surface);width:min(920px,100vw - 48px);max-width:none;height:min(860px,100dvh - 64px);max-height:none;color:var(--ink);border-radius:18px;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 28px 100px #563b2424}.portfolio-site .project-dialog[open]{flex-direction:column;display:flex}.portfolio-site .project-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#33282066}.portfolio-site .project-dialog-header{border-bottom:1px solid var(--line);background:var(--surface-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:17px 28px;display:flex}.portfolio-site .project-dialog-header>p{color:var(--muted-ink);margin:0;font-size:13px}.portfolio-site .project-dialog-close{border:1px solid var(--border-control);min-height:42px;color:var(--text-secondary);background:var(--surface-soft);cursor:pointer;border-radius:10px;align-items:center;gap:15px;padding:6px 13px;font-size:14px;display:inline-flex}.portfolio-site .project-dialog-close span{font-size:24px;line-height:1}.portfolio-site .project-dialog-content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:34px 40px 40px;overflow-y:auto}.portfolio-site .project-dialog .detail-heading{padding-top:0}.portfolio-site .project-dialog #project-dialog-title{color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;margin-top:12px;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.25}.portfolio-site .project-dialog .detail-description{font-size:17px;line-height:1.85}.portfolio-site .project-dialog .detail-facts{gap:24px 32px;margin-top:28px}.portfolio-site .project-dialog .project-body{max-width:none;margin-top:40px;font-size:16px}.portfolio-site .project-dialog .project-body h3{color:var(--ink);margin:40px 0 16px;font-size:23px;font-weight:650;line-height:1.5}.portfolio-site .project-dialog .project-body h4{color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;margin:28px 0 12px;font-size:18px;font-weight:600;line-height:1.6}.portfolio-site .project-dialog .project-body>:first-child{margin-top:0}.portfolio-site .project-dialog .project-body p,.portfolio-site .project-dialog .project-body :is(ul,ol){margin-block:16px}.portfolio-site .project-dialog .table-scroll{max-width:100%}.portfolio-site .project-dialog .detail-tech{max-width:none}.portfolio-site .project-dialog .detail-tech h3{margin-bottom:12px;font-size:19px}.portfolio-site .project-dialog .detail-end{align-items:center;max-width:none;font-size:14px}.portfolio-site .project-dialog .detail-end button{font:inherit;background:0 0;border:0;padding:0}@media (max-width:640px){.portfolio-site .project-dialog{border-radius:18px;width:calc(100vw - 24px);height:calc(100dvh - 24px);margin:12px}.portfolio-site .project-dialog-header{padding:12px 18px}.portfolio-site .project-dialog-content{scrollbar-gutter:auto;padding:25px 22px 30px}.portfolio-site .project-dialog .detail-facts{grid-template-columns:minmax(0,1fr);gap:19px;padding-block:23px}.portfolio-site .project-dialog .detail-description{font-size:16px}.portfolio-site .project-dialog .project-body{font-size:15px}.portfolio-site .project-dialog .project-body h3{font-size:21px}.portfolio-site .project-dialog .project-body h4{font-size:17px}.portfolio-site .project-dialog .related-project{padding:14px 16px}.portfolio-site .project-dialog .detail-end{flex-direction:column;align-items:flex-start}}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}.portfolio-site{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f3ef;--surface:#fffdfb;--surface-soft:#f0eae4;--surface-hover:#f5e8dc;--apricot:#efb28d;--accent:#9c4d30;--accent-hover:#79381f;--accent-soft:#f7e0ce;--accent-ink:#713b28;--on-accent:#fffdfb;--text-strong:#332f2c;--text-secondary:#645b55;--text-muted:#6d6059;--border-soft:#d9cfc5;--border-control:#9b8778;--success:#3d684d;--warning:#7c5426;--danger:#a33f35;--info:#466778;--paper:var(--canvas);--ink:var(--text-strong);--muted-ink:var(--text-muted);--line:var(--border-soft);background:var(--paper);color:var(--ink);min-height:100vh;font-size:16px;line-height:1.8}.portfolio-site *,.portfolio-site :before,.portfolio-site :after{box-sizing:border-box}.portfolio-site :is(h1,h2,h3,p,ol,ul,dl,dd){margin:0}.portfolio-site :is(h1,h2,h3){word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;font-weight:600}.portfolio-site h1{letter-spacing:-.035em;font-size:clamp(2.15rem,4.2vw,3.7rem);line-height:1.3}.portfolio-site h2{letter-spacing:-.025em;font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.4}.portfolio-site h3{letter-spacing:-.015em;font-size:1.2rem;line-height:1.5}.portfolio-site p{word-break:keep-all;overflow-wrap:anywhere}.portfolio-site a{text-underline-offset:5px;transition:color .15s,background-color .15s}.portfolio-site a:hover{color:var(--accent)}.portfolio-site :focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}.portfolio-site button,.portfolio-site summary{cursor:pointer}.portfolio-site [id]{scroll-margin-top:35px}.container{width:min(100% - 96px,1200px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line)}.nav-inner{justify-content:flex-end;align-items:center;gap:36px;min-height:88px;display:flex}.desktop-nav{gap:36px;font-size:15px;display:flex}.desktop-nav a{padding:8px 0}.site-header [aria-current=page]{color:var(--on-accent)}.mobile-nav{display:none}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 18px;position:absolute;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.hero{padding-top:60px;padding-bottom:48px}.eyebrow{color:var(--muted-ink);font-size:13px;margin-bottom:18px!important}.hero h1{max-width:1050px}.hero h1 span{color:var(--accent)}.hero-intro{max-width:650px;color:var(--text-secondary);margin-top:26px!important}.hero-links{flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:27px;font-size:14px;display:flex}.text-link{color:var(--accent);align-items:center;gap:12px;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.section{border-top:1px solid var(--line);padding-block:58px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;display:flex}.section-heading .eyebrow{margin-bottom:8px!important}.section-heading>a{font-size:14px}.project-list{padding:0;list-style:none}.project-row{border-top:1px solid var(--line);grid-template-columns:minmax(200px,.7fr) minmax(0,1.5fr);gap:48px;padding:32px 0;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-heading h3{font-size:clamp(1.55rem,2.25vw,2rem)}.project-heading h3 a{align-items:baseline;gap:16px;display:inline-flex}.project-heading h3 a span{color:var(--accent);font-size:18px}.project-type{color:var(--muted-ink);font-size:13px;margin-bottom:6px!important}.project-status{color:var(--text-secondary);font-size:13px;margin-top:10px!important}.status-active{color:var(--accent)}.status-failed{color:var(--warning)}.project-summary>p:first-child{color:var(--ink);max-width:680px}.role-line,.outcome-line{color:var(--muted-ink);gap:20px;font-size:14px;display:flex;margin-top:12px!important}.role-line span,.outcome-line span{color:var(--ink);flex:0 0 48px}.related-note{color:var(--muted-ink);font-size:13px;margin-top:14px!important}.about-preview{grid-template-columns:1fr 1.3fr;gap:70px;display:grid}.about-copy{color:var(--text-secondary);max-width:680px}.about-copy>p+p{margin-top:18px}.about-copy>a{margin-top:22px;font-size:14px}.contact-section{grid-template-columns:1fr 1.15fr;gap:80px;display:grid}.contact-copy h2{max-width:360px}.contact-copy>p:not(.eyebrow){color:var(--text-secondary);max-width:370px;margin-top:18px}.contact-copy>a{width:fit-content;margin-top:22px;font-size:15px;display:block}.contact-form-wrap{min-width:0}.portfolio-site label{margin-bottom:8px;font-size:14px;display:block}.portfolio-site :is(input,textarea){background:var(--surface);border:1px solid var(--border-control);width:100%;font:inherit;color:var(--ink);border-radius:6px;padding:12px 14px}.portfolio-site textarea{resize:vertical;min-height:140px}.form-pair{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;display:grid}.form-note{color:var(--muted-ink);font-size:13px;margin:10px 0 20px!important}.primary-button{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);border-radius:5px;justify-content:space-between;align-items:center;gap:40px;padding:12px 20px;font-size:14px;font-weight:600;display:inline-flex}.primary-button:hover{background:var(--accent-hover)}.primary-button:disabled{opacity:.65;cursor:wait}.form-error,.form-success{font-size:14px;margin-top:14px!important}.form-error{color:var(--danger)}.form-success{color:var(--success)}.site-footer{border-top:1px solid var(--line);color:var(--muted-ink);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-block:30px;font-size:13px;display:flex}.site-footer>div{gap:24px;display:flex}.page-heading{padding-block:65px 40px}.page-heading>p:last-child{color:var(--text-secondary);max-width:700px;margin-top:20px}.status-filters{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.status-filters a{border:1px solid var(--border-control);border-radius:6px;align-items:center;gap:12px;padding:7px 15px;font-size:14px;display:inline-flex}.status-filters [aria-current=page]{background:var(--accent);color:var(--on-accent);border-color:var(--border-control)}.status-filters span{font-variant-numeric:tabular-nums}.list-note{color:var(--muted-ink);max-width:750px;font-size:14px;margin-bottom:30px!important}.work-results{padding-bottom:80px}.empty-state{color:var(--text-secondary);padding:40px 0}.project-detail{padding-block:40px 70px}.back-link{color:var(--muted-ink);font-size:14px}.detail-heading{max-width:850px;padding-top:40px}.detail-heading h1{margin-top:12px}.detail-description{color:var(--text-secondary);font-size:18px;line-height:1.85;margin-top:22px!important}.detail-facts{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px 50px;max-width:850px;padding-block:30px;display:grid;margin-top:30px!important}.detail-facts div{min-width:0}.detail-facts dt{color:var(--muted-ink);margin-bottom:6px;font-size:13px}.detail-facts dd{overflow-wrap:anywhere;font-size:15px}.project-links{color:var(--accent);flex-wrap:wrap;gap:24px;margin-top:24px;font-size:14px;display:flex}.project-links a{text-decoration:underline}.related-project{border-left:2px solid var(--accent);background:var(--surface-soft);max-width:760px;margin-top:30px;padding:14px 20px;font-size:14px}.related-project a{text-decoration:underline}.project-body{max-width:760px;color:var(--text-secondary);margin-top:50px;font-size:16px;line-height:1.95}.project-body h2{color:var(--ink);margin:48px 0 18px;font-size:25px}.project-body h3{color:var(--ink);margin:30px 0 14px;font-size:19px}.project-body>:first-child{margin-top:0}.project-body p{margin-block:16px}.project-body :is(ul,ol){margin-block:16px;padding-left:24px}.project-body ul{list-style:outside}.project-body ol{list-style:decimal}.project-body li{margin-block:9px;padding-left:4px}.project-body strong{color:var(--ink);font-weight:600}.project-body a{color:var(--accent);text-decoration:underline}.project-body blockquote{border-left:2px solid var(--accent);margin-block:24px;padding-left:20px}.project-body code{font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;font-size:.9em}.project-body pre{border:1px solid var(--line);border-radius:6px;padding:20px;overflow-x:auto}.table-scroll{overflow-x:auto}.project-body table{border-collapse:collapse;width:100%}.project-body :is(th,td){text-align:left;border:1px solid var(--line);padding:10px}.detail-tech{border-top:1px solid var(--line);max-width:760px;margin-top:40px;padding-top:30px}.detail-tech h2{margin-bottom:12px;font-size:19px}.detail-tech p{color:var(--muted-ink);font-size:14px}.detail-end{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:850px;margin-top:55px;padding-top:24px;font-size:14px;display:flex}.about-intro{grid-template-columns:1.1fr 1fr;gap:65px;padding-block:65px;display:grid}.about-intro h1{font-size:clamp(2rem,3.2vw,3rem)}.about-intro .about-copy{padding-top:42px}.profile-facts{margin-top:28px!important}.profile-facts div{grid-template-columns:95px 1fr;gap:14px;margin-top:10px;font-size:14px;display:grid}.profile-facts dt{color:var(--muted-ink)}.profile-facts dd{overflow-wrap:anywhere;min-width:0}.activity-list{max-width:1050px;padding:0;list-style:none}.activity-list>li{border-top:1px solid var(--line);grid-template-columns:165px minmax(0,1fr);gap:38px;padding:28px 0;display:grid}.activity-date{color:var(--muted-ink);flex-direction:column;gap:4px;font-size:13px;display:flex}.activity-date span:first-child{font-family:var(--font-geist-mono), monospace}.award{color:var(--accent);font-size:14px;margin-top:7px!important}.organization{color:var(--muted-ink);font-size:13px;margin-top:9px!important}.activity-description{color:var(--text-secondary);white-space:pre-line;max-width:740px;font-size:15px;margin-top:14px!important}.experience-list{grid-template-columns:1fr 1fr;gap:30px 50px;padding:0;list-style:none;display:grid}.experience-list li{border-top:1px solid var(--line);padding-top:18px}.experience-list p{color:var(--text-secondary);margin-top:9px;font-size:14px}.experience-list .tech-note{color:var(--muted-ink);font-size:13px}.learning-line{color:var(--text-secondary);gap:8px;font-size:14px;display:grid;margin-top:32px!important}.learning-line strong{color:var(--ink);font-weight:500}.learning-notes{border-block:1px solid var(--line);margin-top:32px}.learning-notes summary{padding-block:18px;font-size:15px}.learning-body{grid-template-columns:1fr 1fr;gap:25px 45px;padding-block:15px 30px;display:grid}.learning-body h3{margin-bottom:8px;font-size:16px}.learning-body :is(p,ul){color:var(--muted-ink);white-space:pre-line;font-size:14px}.message-page{padding-block:100px}.message-page h1{font-size:32px}.message-page p{color:var(--text-secondary);margin-block:20px}.message-page .text-link{margin:20px}.content-notice{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:12px 18px;font-size:14px;margin-top:24px!important}::selection{color:#090a09;background:#cf0}@media (min-width:1600px){.container{max-width:1320px}.hero h1{font-size:62px}.hero{padding-top:66px}.project-row{grid-template-columns:1fr 1.6fr}}@media (max-width:1000px){.container{width:calc(100% - 64px)}.hero{padding-block:58px}.project-row{gap:32px}.about-preview,.contact-section,.about-intro{gap:36px}.contact-section{grid-template-columns:.9fr 1.1fr}.form-pair,.about-intro{grid-template-columns:1fr}.about-intro .about-copy{padding-top:0}}@media (max-width:640px){.container{width:calc(100% - 40px)}.nav-inner{min-height:72px}.desktop-nav{display:none}.mobile-nav{font-size:14px;display:block;position:relative}.mobile-nav summary{padding:8px 6px}.mobile-nav nav{z-index:10;background:var(--surface);border:1px solid var(--border-control);border-radius:6px;width:190px;padding:10px;position:absolute;top:48px;right:0}.mobile-nav nav a{padding:12px 14px;display:block}.hero{padding-block:44px}.hero h1{font-size:clamp(1.95rem,7.9vw,2.55rem);line-height:1.4}.hero-intro{font-size:15px;margin-top:20px!important}.hero-links{gap:16px 24px}.eyebrow{font-size:12px}.section{padding-block:36px}.section-heading{flex-wrap:wrap;align-items:start;gap:14px;margin-bottom:24px}.project-row{grid-template-columns:1fr;gap:20px;padding-block:26px}.project-heading h3{font-size:27px}.project-heading{position:relative}.project-status{margin-top:7px!important}.project-summary>p:first-child{font-size:15px}.role-line,.outcome-line{gap:12px}.about-preview,.contact-section{grid-template-columns:1fr;gap:24px}.about-copy{font-size:15px}.contact-section{gap:30px}.form-pair{grid-template-columns:1fr}.contact-copy h2{max-width:none}.contact-copy>a{margin-top:15px}.primary-button{width:100%}.site-footer{padding-block:24px;font-size:12px}.page-heading{padding-block:42px 30px}.page-heading h1{font-size:38px}.page-heading>p:last-child{font-size:15px}.status-filters{gap:8px}.status-filters a{gap:9px;padding:6px 11px;font-size:13px}.list-note{font-size:13px}.project-detail{padding-top:28px}.detail-heading{padding-top:30px}.detail-heading h1{font-size:36px}.detail-description{font-size:16px}.detail-facts{grid-template-columns:1fr;gap:20px}.detail-facts div{grid-template-columns:70px minmax(0,1fr);gap:14px;display:grid}.detail-facts dt{margin:0}.detail-facts dd{font-size:14px}.project-body{margin-top:35px}.project-body h2{font-size:23px}.project-body h3{font-size:18px}.about-intro{gap:24px;padding-block:42px}.activity-list>li{grid-template-columns:1fr;gap:12px;padding-block:25px}.activity-date{flex-direction:row;gap:20px}.activity-list h3{font-size:18px}.experience-list,.learning-body{grid-template-columns:1fr}.profile-facts div{grid-template-columns:80px minmax(0,1fr)}.message-page{padding-block:70px}.message-page h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.glass-panel{background:#10120f;border:1px solid #ffffff1f}#projects.section{padding-top:38px}.project-image{border-radius:6px;max-width:100%;height:auto;margin-block:20px;display:block}.media-note{color:var(--muted-ink);padding:12px 0;font-size:14px;display:block}.portfolio-home{--paper:var(--canvas);--line:var(--border-soft);background:var(--paper)}.portfolio-home .container{width:min(100% - 112px,1360px)}.portfolio-home .section{padding-block:76px}.portfolio-home [id]{scroll-margin-top:105px}.portfolio-home .site-header{z-index:50;background:var(--canvas);position:sticky;top:0}.portfolio-home .nav-inner{min-height:72px}.portfolio-home .desktop-nav{gap:32px;font-size:14px}.nav-github{color:var(--text-secondary);font-size:13px}.portfolio-home .classic-hero{grid-template-columns:minmax(0,1fr) minmax(250px,.34fr);gap:55px;padding-block:36px 46px;display:grid}.classic-hero-main{flex-direction:column;justify-content:space-between;min-width:0;padding-bottom:24px;display:flex}.classic-status{color:var(--accent);align-items:center;gap:10px;font-size:13px;display:flex}.classic-status>span{background:var(--accent);border-radius:50%;width:8px;height:8px}.classic-name-block{padding-block:36px}.portfolio-home .classic-name-block h1{letter-spacing:-.045em;text-transform:uppercase;white-space:normal;font-size:clamp(4rem,10.5vw,10rem);font-weight:700;line-height:1.03}.classic-name-block h1>span{display:inline}.classic-name-block .classic-outline{-webkit-text-stroke:1.5px var(--accent);color:#0000}.classic-role{color:var(--accent);font-size:16px;margin-top:22px!important}.classic-name-block .hero-intro{max-width:490px;font-size:16px;margin-top:22px!important}.classic-hero-links{flex-wrap:wrap;align-items:center;gap:40px;font-size:14px;display:flex}.classic-project-cta{align-items:center;gap:18px;display:inline-flex}.classic-project-cta>span{border:1px solid var(--line);width:54px;height:54px;color:var(--accent);border-radius:50%;place-items:center;font-size:23px;display:grid}.classic-project-cta:hover>span{color:var(--muted-ink);background:var(--surface-hover)}.classic-hero-panels{gap:12px;display:grid}.classic-panel{background:var(--surface);border:1px solid var(--line);padding:22px}.classic-panel p{font-size:13px}.classic-panel-label{color:var(--muted-ink);margin-bottom:10px!important;font-size:12px!important}.classic-panel .classic-identity-name{margin-bottom:6px;font-size:26px;font-weight:700;line-height:1.4}.classic-lime{color:var(--accent)}.hero-project-count{justify-content:space-between;align-items:center;gap:16px;display:flex}.hero-project-count>strong{color:var(--accent);font-size:44px;font-weight:600;line-height:1.2}.hero-project-count>div{gap:6px;min-width:0;font-size:13px;display:grid}.hero-project-count a{overflow-wrap:anywhere}.classic-tags{flex-wrap:wrap;gap:6px;display:flex}.classic-tags span{border:1px solid var(--line);color:var(--accent);padding:2px 8px;font-size:12px}.classic-window-bar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.classic-window-bar>span{color:var(--muted-ink);letter-spacing:2px;font-size:10px}.classic-window-bar>p{color:var(--muted-ink);font-size:12px}.hero-memo>p{line-height:1.8}.portfolio-home .classic-works .section-heading{margin-bottom:36px}.classic-work-filters{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.classic-work-filters button{font:inherit;border:1px solid var(--border-control);color:var(--muted-ink);background:0 0;align-items:center;gap:14px;padding:8px 16px;font-size:13px;display:inline-flex}.classic-work-filters button[aria-pressed=true]{border-color:var(--border-control);background:var(--accent-soft);color:var(--accent)}.portfolio-home .project-list{counter-reset:project;gap:14px;display:grid}.portfolio-home .project-row{counter-increment:project;border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(210px,.75fr) minmax(0,1.5fr);gap:36px;padding:30px 32px 30px 62px;position:relative}.portfolio-home .project-row:before{content:counter(project, decimal-leading-zero);font-size:12px;font-family:var(--font-geist-mono), monospace;color:var(--muted-ink);position:absolute;top:37px;left:22px}.portfolio-home .project-row:hover,.portfolio-home .project-row:focus-within{border-left-color:var(--accent);background:var(--surface-hover)}.portfolio-home .project-heading h3{font-size:clamp(1.65rem,2.4vw,2.3rem);font-weight:700}.portfolio-home .project-heading h3 a{gap:16px}.classic-featured{color:var(--accent);margin-left:12px;font-size:12px}.classic-work-note{color:var(--muted-ink);font-size:13px;margin-top:24px!important}.portfolio-home .contact-copy h2{max-width:500px;font-size:clamp(2.7rem,5.7vw,5.4rem);line-height:1.2}.portfolio-home .contact-form-wrap{border:1px solid var(--line);background:var(--surface);padding:30px}.portfolio-home .contact-copy>p:not(.eyebrow){margin-top:30px}.portfolio-home .contact-copy>a{margin-top:24px}@media (min-width:1650px){.portfolio-home .classic-name-block h1{font-size:164px}}@media (max-width:1100px){.portfolio-home .container{width:calc(100% - 64px)}.portfolio-home .classic-hero{grid-template-columns:minmax(0,1fr) 265px;gap:30px}.portfolio-home .classic-name-block h1{font-size:clamp(4rem,10vw,8rem)}.classic-name-block h1>span{display:block}.portfolio-home .project-row{grid-template-columns:minmax(170px,.7fr) minmax(0,1.5fr);gap:26px}.portfolio-home .contact-form-wrap{padding:24px}}@media (max-width:800px){.portfolio-home .desktop-nav{gap:22px}.nav-github{display:none}.portfolio-home .classic-hero{grid-template-columns:1fr}.classic-name-block h1>span{display:inline}.portfolio-home .classic-name-block h1{font-size:clamp(3.8rem,14vw,7.5rem)}.classic-hero-panels{grid-template-columns:1fr 1fr}.classic-panel{min-width:0}.classic-hero-main{padding-bottom:0}.portfolio-home .contact-section{grid-template-columns:1fr}}@media (max-width:640px){.portfolio-home .container{width:calc(100% - 40px)}.portfolio-home .section{padding-block:48px}.portfolio-home .classic-hero{gap:32px;padding-block:28px 38px}.portfolio-home .nav-inner{min-height:66px}.classic-name-block{padding-block:40px 30px}.classic-name-block .eyebrow{margin-bottom:18px!important}.portfolio-home .classic-name-block h1{font-size:clamp(3rem,13.8vw,5.5rem);line-height:1.1}.classic-name-block .hero-intro{font-size:15px}.classic-role{font-size:14px;margin-top:18px!important}.classic-hero-links{gap:28px}.classic-project-cta>span{width:46px;height:46px}.classic-panel{padding:17px}.hero-identity,.hero-memo{grid-column:1/-1}.classic-hero-panels{gap:10px}.hero-project-count{flex-direction:column;align-items:start;gap:8px}.hero-project-count strong{font-size:38px}.classic-tags span{padding:1px 5px;font-size:12px}.portfolio-home .project-row{grid-template-columns:1fr;gap:20px;padding:25px}.portfolio-home .project-row:before{display:none}.portfolio-home .project-heading h3{font-size:29px}.portfolio-home .contact-form-wrap{padding:20px}.portfolio-home .contact-copy h2{max-width:350px;font-size:42px}}@media print{.portfolio-home .site-header{position:static}}.portfolio-site .project-row{padding:0;display:block}.portfolio-site .project-card-link{color:var(--ink);grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);align-items:center;gap:40px;padding:28px 0;text-decoration:none;display:grid}.portfolio-site .project-card-link:hover{color:var(--ink)}.portfolio-site .project-card-link:hover h3{color:var(--accent)}.portfolio-site .project-heading h3{align-items:baseline;gap:18px;display:flex}.portfolio-site .project-heading h3 span{color:var(--accent);font-size:18px}.portfolio-site .project-summary{color:var(--text-secondary);font-size:15px;line-height:1.85}.portfolio-site.portfolio-home .project-list{gap:12px}.portfolio-site.portfolio-home .project-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:0}.portfolio-site.portfolio-home .project-row:before{content:none}.portfolio-site.portfolio-home .project-card-link{border-radius:14px;padding:29px 32px}.portfolio-site.portfolio-home .project-row:hover,.portfolio-site.portfolio-home .project-row:focus-within{background:var(--surface-hover);border-color:var(--border-control)}.portfolio-site.portfolio-home .project-heading h3{font-size:28px;font-weight:600}.portfolio-site.portfolio-home .classic-panel,.portfolio-site.portfolio-home .classic-profile-panel,.portfolio-site.portfolio-home .classic-service-card,.portfolio-site.portfolio-home .classic-tech-panel,.portfolio-site.portfolio-home .classic-learning-panel,.portfolio-site.portfolio-home .classic-spec-card,.portfolio-site.portfolio-home .contact-form-wrap{border-color:var(--line);background:var(--surface);border-radius:16px}.portfolio-site.portfolio-home .classic-section-title{letter-spacing:-.035em;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600;line-height:1.3}.portfolio-site.portfolio-home .classic-section-title .classic-outline{-webkit-text-stroke:0;color:var(--accent)}.portfolio-site.portfolio-home .classic-info-card,.portfolio-site.portfolio-home .classic-quote{border-radius:12px}.portfolio-site.portfolio-home .classic-tags span,.portfolio-site.portfolio-home .classic-tag-list span,.portfolio-site.portfolio-home .classic-tech-tags li{border-radius:7px}.portfolio-site.portfolio-home .classic-work-filters button{border-radius:999px;padding:7px 16px}.portfolio-site.portfolio-home .classic-work-note{margin-top:20px!important}.portfolio-site.portfolio-home .classic-spec-index,.portfolio-site.portfolio-home .classic-card-index{display:none}.portfolio-site.portfolio-home .classic-spec-card h3{font-size:24px;font-weight:600;line-height:1.5}.portfolio-site.portfolio-home .classic-spec-description{border-color:var(--line)}.portfolio-site.portfolio-home .section{border-top-color:var(--line);padding-block:32px}.portfolio-site.portfolio-home .classic-hero{gap:50px}.portfolio-site.portfolio-home .classic-name-block h1{font-weight:600}.portfolio-site.portfolio-home .contact-copy h2{font-size:clamp(2.5rem,4.5vw,4.3rem);line-height:1.3}@media (max-width:800px){.portfolio-site.portfolio-home .classic-hero{gap:28px}}@media (max-width:640px){.portfolio-site .project-card-link{grid-template-columns:1fr;gap:12px;padding-block:25px}.portfolio-site.portfolio-home .project-card-link{padding:24px}.portfolio-site.portfolio-home .project-heading h3{font-size:26px}.portfolio-site.portfolio-home .section{padding-block:42px}.portfolio-site.portfolio-home .classic-section-title{font-size:30px}.portfolio-site.portfolio-home .classic-spec-card h3{font-size:22px}}.portfolio-site.portfolio-home :is(.classic-section-heading,.section-heading){margin-bottom:24px}.portfolio-site.portfolio-home .classic-section-heading .eyebrow,.portfolio-site.portfolio-home .classic-about-left>.eyebrow{margin-bottom:12px!important}.portfolio-site.portfolio-home .classic-works h2{font-size:clamp(1.875rem,3vw,2.5rem)}.portfolio-site.portfolio-home .classic-work-filters{margin-bottom:16px}.portfolio-site.portfolio-home .classic-work-filters button{min-height:44px}.portfolio-site.portfolio-home .project-card-link{grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;height:100%;padding:20px 24px}.portfolio-site.portfolio-home .project-heading h3{font-size:24px;line-height:1.4}.portfolio-site.portfolio-home .project-summary{line-height:1.7}.portfolio-site.portfolio-home .classic-about-grid{gap:40px}.portfolio-site.portfolio-home .classic-profile-panel{margin-top:24px}.portfolio-site.portfolio-home .classic-profile-body{padding:20px}.portfolio-site.portfolio-home .classic-facts-grid{margin-top:16px}.portfolio-site.portfolio-home .classic-facts-grid>div{padding:14px 18px}.portfolio-site.portfolio-home .classic-facts-grid dd{font-size:16px}.portfolio-site.portfolio-home .classic-about-right{gap:20px}.portfolio-site.portfolio-home .classic-quote{padding:18px 20px}.portfolio-site.portfolio-home .classic-service-card{padding:20px}.portfolio-site.portfolio-home .classic-service-card dt{font-size:23px;line-height:1.35}.portfolio-site.portfolio-home .classic-service-description{margin-top:12px;line-height:1.7}.portfolio-site.portfolio-home .classic-tag-list{margin-top:16px}.portfolio-site.portfolio-home .classic-tech-panel{gap:24px;padding:24px}.portfolio-site.portfolio-home .classic-tech-category h3{margin-bottom:12px}.portfolio-site.portfolio-home .classic-learning-panel{padding:20px 24px}.portfolio-site.portfolio-home .classic-spec-card{padding:16px}.portfolio-site.portfolio-home .classic-spec-meta{gap:8px;margin-bottom:10px}.portfolio-site.portfolio-home .classic-spec-card h3{font-size:20px;line-height:1.4}.portfolio-site.portfolio-home .classic-spec-award{margin-top:8px}.portfolio-site.portfolio-home .classic-spec-organization{margin-top:8px;font-size:12px;line-height:1.6}.portfolio-site.portfolio-home .classic-spec-description{margin-top:8px;padding-top:8px;font-size:14px;line-height:1.65}@media (min-width:900px){.portfolio-site.portfolio-home .section{scroll-margin-top:73px}.portfolio-site.portfolio-home .project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-site.portfolio-home .classic-skill-notes dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.portfolio-site.portfolio-home .classic-skill-notes dl>div{grid-template-columns:minmax(0,1fr);align-content:start;gap:4px;padding-block:12px}.portfolio-site.portfolio-home .classic-quote p{white-space:normal}}@media (min-width:1100px){.portfolio-site.portfolio-home .section{padding-block:24px}.portfolio-site.portfolio-home :is(.classic-service-grid,.classic-spec-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media (max-width:640px){.portfolio-site.portfolio-home .classic-section-heading{margin-bottom:24px}.portfolio-site.portfolio-home .classic-heading-note{margin-top:16px}.portfolio-site.portfolio-home .project-card-link{padding:20px}.portfolio-site.portfolio-home .classic-spec-description{font-size:15px;line-height:1.75}}body:has(.portfolio-site){background:#f6f3ef}.portfolio-site::selection,.portfolio-site ::selection{background:var(--apricot);color:var(--ink)}.portfolio-site .skip-link:hover{background:var(--accent-hover);color:var(--on-accent)}.portfolio-site.portfolio-home .classic-name-block .classic-outline{-webkit-text-stroke:0;color:var(--accent)}.portfolio-site.portfolio-home .classic-hero-panels .classic-panel:first-child{background:var(--accent-soft)}.portfolio-site.portfolio-home .classic-quote{background:var(--surface-soft)}.portfolio-site.portfolio-home .classic-tags span,.portfolio-site.portfolio-home .classic-tag-list span{background:var(--surface-soft);color:var(--text-secondary)}.portfolio-site.portfolio-home .classic-work-filters button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.portfolio-site .primary-button:disabled{opacity:1;background:var(--surface-soft);border-color:var(--border-control);color:var(--text-muted)}.portfolio-site :is(input,textarea)::placeholder{color:var(--text-muted)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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 #0000}@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 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-duration{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
.studio-site{--studio-ink:#292923;--studio-muted:#6a6a61;--studio-purple:#6543ca;--studio-line:#deded5;--ink:#292923;--surface:#fffefa;--text-secondary:#626259;--muted-ink:#6a6a61;--accent:#6543ca;--accent-hover:#4c2d9f;--on-accent:#fff;--border-control:#b1b1a6;--success:#286844;--danger:#a13932;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;color:var(--studio-ink);font-family:var(--font-noto-kr), system-ui, sans-serif;background:#f8f8f3;font-size:15px;line-height:1.8}.studio-site *,.studio-site :before,.studio-site :after{box-sizing:border-box}.studio-site :is(h1,h2,h3,p,ol,ul,dl,dd,blockquote){margin:0}.studio-site :is(ol,ul){padding:0}.studio-site :is(h1,h2,h3){letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere;font-weight:700;line-height:1.4}.studio-site p{word-break:keep-all;overflow-wrap:anywhere}.studio-site a{color:inherit;text-underline-offset:5px;text-decoration:none}.studio-site button{cursor:pointer;font:inherit}.studio-site :is(a,button,summary){-webkit-tap-highlight-color:transparent}.studio-site :focus-visible{outline-offset:5px;outline:3px solid #6543ca}.studio-site main:focus{outline:none}.studio-site [id]{scroll-margin-top:100px}.studio-purple{color:#6543ca}.studio-skip-link{z-index:100;background:#292923;padding:10px 18px;position:fixed;top:12px;left:12px;transform:translateY(-180%);color:#fff!important}.studio-skip-link:focus-visible{transform:translateY(0)}.studio-workspace{flex-direction:column;min-height:100vh;margin-left:248px;display:flex}.studio-main{flex:1;width:100%;max-width:1330px;margin-inline:auto;padding:54px clamp(32px,4.5vw,76px) 55px}.studio-sidebar{z-index:30;overscroll-behavior:contain;scrollbar-width:thin;background:#f2f2e9;border-right:1px solid #deded5;flex-direction:column;width:248px;padding:44px 30px 26px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.studio-identity{flex-direction:column;align-items:flex-start;width:fit-content;display:flex}.studio-identity-symbol{color:#6543ca;margin-bottom:20px;font-size:76px;line-height:1;transition:transform .4s;display:block}.studio-identity:hover .studio-identity-symbol{transform:rotate(45deg)}.studio-identity-name{letter-spacing:-.09em;font-size:52px;font-weight:700;line-height:1.2}.studio-identity-name>span{color:#6543ca}.studio-identity-english{font:9px var(--font-geist-mono),monospace;letter-spacing:.05em;color:#6a6a61;margin-top:14px}.studio-sidebar-intro{color:#6a6a61;font-size:13px;line-height:1.9;margin-top:28px!important}.studio-navigation{gap:4px;display:grid}.studio-sidebar .studio-navigation{margin-top:36px}.studio-navigation a{color:#65655b;border-radius:9px;align-items:center;gap:14px;min-height:48px;padding:8px 11px;font-size:14px;display:flex}.studio-navigation a:hover{color:#292923;background:#e7e6dc}.studio-navigation a[aria-current=page]{color:#fff;background:#292923}.studio-nav-index{font:9px var(--font-geist-mono),monospace;opacity:.7}.studio-navigation small{opacity:.7;margin-left:8px;font-family:Georgia,serif;font-size:13px;font-style:italic}.studio-nav-arrow{opacity:0;margin-left:auto;font-size:18px}.studio-navigation a[aria-current=page] .studio-nav-arrow,.studio-navigation a:hover .studio-nav-arrow{opacity:1}.studio-sidebar-bottom{margin-top:auto;padding-top:28px;font-size:10px}.studio-sidebar-bottom p{white-space:nowrap;color:#6a6a61;align-items:center;gap:6px;display:flex}.studio-sidebar-bottom a{border-bottom:1px solid #c9c9bc;justify-content:space-between;width:100%;margin-block:17px 20px;padding-bottom:10px;font-size:12px;display:flex}.studio-sidebar-bottom>span{color:#6a6a61;font:9px var(--font-geist-mono),monospace}.studio-live-dot{background:#66834f;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.studio-mobile-header{display:none}.studio-page-heading{max-width:1040px;margin-bottom:52px}.studio-page-label{font:10px var(--font-geist-mono),monospace;letter-spacing:.06em;color:#6a6a61;align-items:center;gap:8px;display:flex;margin-bottom:23px!important}.studio-page-heading h1{letter-spacing:-.065em;font-size:clamp(42px,4.8vw,70px);font-weight:600;line-height:1.27}.studio-page-heading>p:last-child:not(.studio-page-label){color:#6a6a61;margin-top:20px;font-size:14px}.studio-heading-line{justify-content:space-between;align-items:center;gap:20px;display:flex}.studio-work-heading h1{font-size:clamp(37px,4.3vw,64px)}.studio-heading-flower{color:#6543ca;vertical-align:baseline;margin-left:17px;font-size:.83em;display:inline-block}.studio-edition{color:#6a6a61;font:10px/1.8 var(--font-geist-mono),monospace;text-align:right;white-space:nowrap}.studio-work-heading{margin-bottom:37px}.studio-work-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.studio-work-filters{flex-wrap:wrap;gap:4px;display:flex}.studio-work-filters button{color:#6a6a61;background:0 0;border:0;border-radius:25px;min-height:38px;padding:7px 13px;font-size:12px}.studio-work-filters button:hover{background:#e9e9df}.studio-work-filters button[aria-pressed=true]{color:#fff;background:#292923}.studio-work-filters button span{font-family:var(--font-geist-mono),monospace;opacity:.7;margin-left:7px;font-size:9px}.studio-work-count{white-space:nowrap;font:10px var(--font-geist-mono),monospace;color:#6a6a61}.studio-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px;list-style:none;display:grid;padding-bottom:42px!important}.studio-work-card{min-width:0}.studio-work-card:nth-child(2n){transform:translateY(42px)}.studio-work-card>a{display:block}.studio-work-card-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.studio-work-card-meta>span:first-child{color:#6a6a61;font:9px var(--font-geist-mono),monospace;letter-spacing:.05em}.studio-project-state{color:#626259;align-items:center;gap:6px;font-size:10px;line-height:1.6;display:inline-flex}.studio-project-state:before{content:"";background:#87877c;border-radius:50%;width:5px;height:5px}.studio-project-state.state-active{color:#466233}.studio-project-state.state-active:before{background:#66834f}.studio-project-state.state-failed{color:#975c3a}.studio-project-state.state-failed:before{background:#a36e4c}.studio-work-card h2{letter-spacing:-.04em;justify-content:space-between;align-items:center;gap:20px;margin-top:10px;font-size:23px;line-height:1.4;display:flex}.studio-work-card h2>span{color:#6a6a61;font-size:23px;font-weight:400;transition:transform .2s}.studio-work-card a:hover h2{color:#6543ca}.studio-work-card a:hover h2>span{color:#6543ca;transform:translate(3px,-3px)}.studio-work-card p{color:#6a6a61;margin-top:9px;font-size:12px;line-height:1.8}.studio-work-role{color:#6a6a61;margin-top:12px;font-size:10px;display:block}.studio-work-note{color:#6a6a61;border-top:1px solid #deded5;padding-top:24px;font-size:11px;margin-top:32px!important}.studio-empty-state{text-align:center;border:1px dashed #c9c9bc;border-radius:18px;padding:70px 25px}.studio-empty-state>span{color:#6543ca;font-size:65px;line-height:1}.studio-empty-state p{margin-top:20px;font-size:15px}.studio-empty-state button{color:#6543ca;background:0 0;border:0;padding:14px}.studio-empty-state>a{color:#6543ca;margin-top:14px;font-size:13px;display:inline-block}.studio-project-cover{aspect-ratio:1.36;isolation:isolate;color:#382d5b;background:#e4e0f1;border-radius:15px;width:100%;position:relative;overflow:hidden;container-type:inline-size}.cover-corner{z-index:2;font:8px var(--font-geist-mono),monospace;letter-spacing:.08em;position:absolute;top:6.8%;left:7%}.cover-footnote{z-index:2;letter-spacing:.015em;font-size:9px;position:absolute;bottom:7%;left:7%}.cover-arrow{opacity:.7;border:1px solid;border-radius:50%;place-items:center;width:27px;height:27px;font-size:15px;display:grid;position:absolute;bottom:6%;right:6%}.cover-wordmark{z-index:1;letter-spacing:-.07em;font-size:15cqw;font-weight:700;line-height:.9;position:absolute}.cover-cokzip{color:#44391c;background:#efe19d}.cover-cokzip .cover-wordmark{font-size:18cqw;bottom:17%;left:7%}.cover-cokzip .cover-wordmark>span{font-family:Georgia,serif;font-style:italic;font-weight:400}.cover-flashcards{width:40%;height:49%;position:absolute;top:19%;right:10%}.cover-flashcards i{background:#f8f2d6;border:1px solid #6e602e;border-radius:10px;position:absolute;inset:0;transform:rotate(-21deg)translate(-25%)}.cover-flashcards i:nth-child(2){background:#bfccaa;transform:rotate(-1deg)}.cover-flashcards i:nth-child(3){background:#f7a365;place-items:center;transition:transform .4s;display:grid;transform:rotate(18deg)translate(20%)}.cover-flashcards i span{font-size:15cqw;font-style:normal;line-height:1}.studio-work-card a:hover .cover-flashcards i:nth-child(3){transform:rotate(28deg)translate(24%)}.cover-soponion{color:#542e36;background:#eec9c4}.cover-soponion .cover-wordmark{color:#542e36;background:#f7ede0;border:1px solid #542e36;padding:.06em .17em .16em;font-family:Georgia,serif;font-size:15cqw;font-style:italic;font-weight:400;bottom:18%;left:7%;transform:rotate(-5deg)}.cover-record{aspect-ratio:1;background:repeating-radial-gradient(circle,#292621 0 3px,#39352e 4px,#292621 5px);border-radius:50%;place-items:center;width:64%;transition:transform .6s;display:grid;position:absolute;top:13%;right:-3%;transform:rotate(-16deg);box-shadow:7px 9px #c99e9d}.cover-record>span{aspect-ratio:1;color:#372d20;background:#e8bb64;border-radius:50%;place-items:center;width:32%;font:700 8cqw Georgia,serif;display:grid}.studio-work-card a:hover .cover-record{transform:rotate(24deg)}.cover-major{color:#ebc1ed;background:#40344e}.cover-major .cover-wordmark{letter-spacing:-.09em;font-size:17cqw;bottom:18%;left:7%}.cover-major .cover-wordmark>span{color:#e1eb9e;vertical-align:top;margin-left:4px;font-size:.6em}.cover-soundwave{justify-content:center;align-items:center;gap:3.5%;display:flex;position:absolute;inset:23% 8% 36%}.cover-soundwave i{background:#c4b4d4;border-radius:8px;width:3%;height:35%;display:block}.cover-soundwave i:nth-child(3n){background:#e1eb9e;height:90%}.cover-soundwave i:nth-child(3n+1){height:60%}.cover-soundwave i:nth-child(4n){height:100%}.cover-story-road{color:#305272;background:#c9dbed}.cover-story-road .cover-wordmark{letter-spacing:-.05em;font:400 19cqw/.83 Georgia,serif;top:23%;left:8%}.cover-story-road .cover-wordmark em{font-weight:400}.cover-route{color:#5b7898;width:100%;height:100%;position:absolute;inset:0}.cover-school-kiosk{color:#454e3e;background:#dddcd0}.cover-receipt{background:#f9f8ed;width:49%;height:72%;padding:7%;position:absolute;top:16%;right:17%;transform:rotate(10deg);box-shadow:12px 12px #b5b6a766}.cover-receipt>span{font:7px var(--font-geist-mono),monospace;letter-spacing:.04em;display:block}.cover-receipt>strong{letter-spacing:-.06em;margin:17px 0;font-size:7cqw;line-height:1.15;display:block}.cover-receipt>span:last-child{font-family:var(--font-noto-kr),sans-serif;border-top:1px dashed #929581;padding-top:10px}.cover-ja-company{color:#3e4f30;background:#dfe6b3}.cover-ja-company .cover-wordmark{letter-spacing:-.06em;font:400 20cqw/.82 Georgia,serif;top:22%;left:8%}.cover-company-flower{color:#a4b879;font-size:47cqw;line-height:1;position:absolute;top:12%;right:-3%;transform:rotate(15deg)}.cover-default .cover-wordmark{overflow-wrap:anywhere;max-width:82%;font-size:14cqw;line-height:1.1;bottom:20%;left:7%}.cover-default .cover-company-flower{color:#c0b3db}.studio-footer{color:#6a6a61;border-top:1px solid #deded5;flex-wrap:wrap;align-items:center;gap:10px 25px;margin:0 clamp(32px,4.5vw,76px);padding:24px 0 28px;font-size:10px;display:flex}.studio-footer a{color:#6543ca}.studio-footer>span{font-family:var(--font-geist-mono),monospace;margin-left:auto;font-size:9px}.studio-content-notice{color:#594270;background:#f0eaf7;border:1px solid #c2b1d9;border-radius:8px;padding:16px 20px;font-size:13px;margin-bottom:25px!important}.studio-section-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;display:flex}.studio-section-line h2{font-size:20px}.studio-section-line a,.studio-section-line>span{color:#6a6a61;font-size:11px}.studio-section-line a:hover{color:#6543ca}.studio-large-copy{letter-spacing:-.03em;font-size:clamp(20px,2.1vw,28px);line-height:1.75}.studio-about-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.studio-about-sticker{aspect-ratio:.95;color:#4c483e;background:#e8dfce;border-radius:18px;flex-direction:column;justify-content:space-between;padding:30px;display:flex;position:relative;overflow:hidden;transform:rotate(-2deg)}.studio-about-sticker>span{letter-spacing:-.055em;z-index:1;font:400 clamp(45px,5vw,78px)/1 Georgia,serif;position:relative}.studio-about-sticker i{color:#c5b69b;font-size:clamp(130px,22vw,300px);font-style:normal;line-height:1;position:absolute;bottom:7%;right:-10%}.studio-about-sticker small{z-index:1;font:9px var(--font-geist-mono),monospace;position:relative}.studio-about-intro>p+p{color:#6a6a61;margin-top:22px;font-size:14px}.studio-profile-facts{margin-top:28px!important}.studio-profile-facts>div{border-top:1px solid #deded5;grid-template-columns:80px minmax(0,1fr);gap:15px;padding-block:12px;font-size:12px;display:grid}.studio-profile-facts dt{color:#6a6a61}.studio-about-note{border-top:1px solid #deded5;margin-top:55px;padding:55px 0}.studio-about-note h2{margin-bottom:25px;font-size:26px}.studio-about-note blockquote{white-space:pre-line;color:#6a6a61;border-left:2px solid #6543ca;margin-top:32px;padding-left:22px;font-size:15px;display:inline-block}.studio-skill-section{border-top:1px solid #deded5;padding-top:35px}.studio-skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;display:grid}.studio-skill-list>div{border-bottom:1px solid #deded5;grid-template-columns:minmax(100px,.8fr) minmax(0,1fr);gap:20px;padding-block:15px;font-size:12px;display:grid}.studio-skill-list dt{font-weight:600}.studio-skill-list dd{color:#6a6a61;white-space:pre-line}.studio-notes-layout{grid-template-columns:minmax(0,1.15fr) minmax(250px,.8fr);align-items:start;gap:40px;display:grid}.studio-learning-note{border-top:1px solid #deded5}.studio-learning-note:last-child{border-bottom:1px solid #deded5}.studio-learning-note summary{cursor:pointer;align-items:center;gap:18px;padding:23px 0;list-style:none;display:flex}.studio-learning-note summary::-webkit-details-marker{display:none}.studio-note-number{font:10px var(--font-geist-mono),monospace;color:#6a6a61;align-self:flex-start;margin-top:8px}.studio-learning-note strong{font-size:19px;font-weight:600;line-height:1.3}.studio-learning-note summary small{color:#6a6a61;margin-top:3px;font-size:11px;display:block}.studio-note-toggle{margin-left:auto;font-size:22px;transition:transform .2s}.studio-learning-note[open] .studio-note-toggle{transform:rotate(45deg)}.studio-note-body{color:#6a6a61;padding:0 0 25px 35px;font-size:13px}.studio-note-body p{white-space:pre-line}.studio-note-body ul{flex-wrap:wrap;gap:6px;margin-top:20px;list-style:none;display:flex}.studio-note-body li{border:1px solid #c9c9bc;padding:2px 7px;font-size:10px}.studio-toolbox{background:#eeebf5;border-radius:16px;padding:32px 27px;position:relative}.studio-toolbox-star{color:#947bbf;font-size:43px;line-height:1;position:absolute;top:22px;right:25px}.studio-toolbox .studio-page-label{color:#655379;padding-right:40px;font-size:9px}.studio-toolbox>h2{color:#48365d;margin-bottom:30px;font-size:30px}.studio-tool-category+.studio-tool-category{margin-top:24px}.studio-tool-category h3{color:#655379;margin-bottom:9px;font-size:10px}.studio-tool-category ul{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.studio-tool-category li{color:#48365d;background:#f5f1fb;border:1px solid #c7bbd9;border-radius:4px;padding:4px 8px;font-size:11px}.studio-tool-category small{color:#77618e;margin-left:7px;font-size:9px}.studio-record-list{border-top:1px solid #deded5;list-style:none}.studio-record-list>li{border-bottom:1px solid #deded5;grid-template-columns:120px minmax(0,1fr);gap:25px;padding-block:32px;display:grid}.studio-record-time{font:11px var(--font-geist-mono),monospace;color:#6a6a61;flex-direction:column;gap:9px;padding-top:6px;display:flex}.studio-record-time small{width:fit-content;font-family:var(--font-noto-kr),sans-serif;background:#eaeae1;border-radius:20px;padding:4px 8px;font-size:10px}.studio-record-content h2{font-size:22px}.studio-record-content>p{color:#6a6a61;white-space:pre-line;margin-top:13px;font-size:13px}.studio-record-content>.studio-record-org{margin-top:7px;font-size:11px}.studio-record-content>.studio-award{color:#6543ca;align-items:center;gap:7px;margin-top:9px;font-weight:600;display:flex}.studio-site .studio-contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:45px;width:100%;padding:0;display:grid}.studio-site .contact-copy h2{max-width:none;font-size:23px}.studio-site .contact-copy>p{color:#6a6a61;margin-top:10px;font-size:12px}.studio-site .contact-copy>a{color:#6543ca;margin-top:18px;font-size:13px}.studio-site .contact-form-wrap{background:#fffefa;border:1px solid #deded5;border-radius:16px;padding:28px}.studio-site .contact-form-wrap>h3{margin-bottom:27px;font-size:21px}.studio-site label{color:#55554b;margin-bottom:8px;font-size:12px;display:block}.studio-site :is(input,textarea){color:#292923;width:100%;font:inherit;background:#f8f8f3;border:1px solid #c9c9bc;border-radius:6px;padding:11px 12px;font-size:13px}.studio-site textarea{resize:vertical;min-height:180px}.studio-site .form-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.studio-site .form-note{color:#6a6a61;font-size:10px;margin:12px 0 20px!important}.studio-site .primary-button,.studio-button{background:#6543ca;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:25px;min-height:44px;padding:11px 19px;font-size:12px;display:inline-flex;color:#fff!important}.studio-site .primary-button{width:100%}.studio-site .primary-button:hover,.studio-button:hover{background:#4c2d9f}.studio-site .primary-button:disabled{opacity:.65;cursor:wait}.studio-site .form-error{color:#a13932;font-size:12px}.studio-site .form-success{color:#286844;font-size:12px}.studio-detail-breadcrumb{color:#6a6a61;justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;font-size:12px;display:flex}.studio-detail-breadcrumb>span{font:9px var(--font-geist-mono),monospace}.studio-detail-breadcrumb a:hover{color:#6543ca}.studio-detail-heading h1{margin:15px 0 20px;font-size:clamp(42px,5.5vw,80px);line-height:1.15}.studio-detail-heading>p{color:#6a6a61;max-width:740px;font-size:17px}.studio-detail-cover{margin-top:35px}.studio-detail-cover .studio-project-cover{aspect-ratio:2.6}.studio-detail-cover .cover-wordmark{font-size:clamp(50px,9.5vw,145px)}.studio-detail-cover .cover-flashcards{width:23%;height:63%;top:12%;right:20%}.studio-detail-cover .cover-record{width:40%;top:-3%;right:7%}.studio-detail-cover .cover-cokzip .cover-wordmark,.studio-detail-cover .cover-soponion .cover-wordmark{bottom:21%}.studio-detail-cover .cover-receipt{width:35%;height:77%;padding:3%;top:11%;right:23%}.studio-detail-cover .cover-receipt>strong{margin:10px 0;font-size:clamp(20px,4vw,55px)}.studio-detail-cover .cover-company-flower{font-size:28cqw}.studio-detail-facts{border-top:1px solid #deded5;border-bottom:1px solid #deded5;grid-template-columns:1.2fr .8fr 1.2fr;gap:28px;padding-block:25px;display:grid;margin-top:35px!important}.studio-detail-facts dt{color:#6a6a61;margin-bottom:10px;font-size:11px}.studio-detail-facts dd{font-size:13px}.studio-project-outcome{background:#efeddf;border-radius:12px;margin-top:30px;padding:24px}.studio-project-outcome>span{color:#6c6148;font-size:11px;font-weight:600}.studio-project-outcome p{margin-top:9px;font-size:16px;line-height:1.8}.studio-project-links{flex-wrap:wrap;gap:10px;margin-block:25px;display:flex}.studio-project-links a{border:1px solid #c9c9bc;border-radius:5px;align-items:center;gap:15px;padding:8px 13px;font-size:12px;display:inline-flex}.studio-project-links a:hover{color:#6543ca;border-color:#6543ca}.studio-related-project{color:#655379;background:#eeebf5;border-left:2px solid #a899c4;margin-top:25px;padding:18px 20px;font-size:13px}.studio-related-project a{font-weight:600;text-decoration:underline}.studio-project-body{max-width:760px;margin:55px auto 0;font-size:15px;line-height:1.95}.studio-project-body h2{margin:52px 0 20px;font-size:28px}.studio-project-body h3{margin:35px 0 15px;font-size:21px}.studio-project-body h4{margin:28px 0 12px;font-size:18px}.studio-project-body>:first-child{margin-top:0}.studio-project-body p{color:#55554b;margin-block:16px}.studio-project-body strong{color:#292923;font-weight:600}.studio-project-body :is(ul,ol){margin-block:18px;padding-left:22px}.studio-project-body ul{list-style:outside}.studio-project-body ol{list-style:decimal}.studio-project-body li{color:#55554b;margin-block:8px;padding-left:4px}.studio-project-body a{color:#6543ca;text-decoration:underline}.studio-project-body blockquote{background:#eeebf5;border-left:2px solid #b7a4d6;margin-block:25px;padding:1px 20px}.studio-project-body code{font-family:var(--font-geist-mono),monospace;overflow-wrap:anywhere;background:#eeede5;border-radius:4px;padding:2px 5px;font-size:.85em}.studio-project-body pre{color:#fffefa;background:#292923;border-radius:8px;padding:20px;overflow:auto}.studio-project-body pre code{color:inherit;background:0 0;padding:0}.studio-project-body hr{border-color:#deded5;margin-block:36px}.studio-table-scroll{max-width:100%;margin-block:25px;overflow-x:auto}.studio-project-body table{border-collapse:collapse;width:100%;font-size:13px}.studio-project-body :is(th,td){text-align:left;border:1px solid #deded5;min-width:100px;padding:12px}.studio-project-body .project-image{border-radius:8px;width:auto;max-width:100%;height:auto}.studio-project-body .project-image[src="/projects/story-road-map.webp"]{max-height:720px}.studio-project-body .media-note{color:#6a6a61;font-size:12px;display:block}.studio-detail-technologies{border-top:1px solid #deded5;max-width:760px;margin:45px auto 0;padding-top:25px}.studio-detail-technologies h2{margin-bottom:18px;font-size:18px}.studio-detail-technologies ul{flex-wrap:wrap;gap:7px;list-style:none;display:flex}.studio-detail-technologies li{border:1px solid #c9c9bc;border-radius:4px;padding:4px 9px;font-size:11px}.studio-detail-end{border-top:1px solid #deded5;flex-wrap:wrap;justify-content:space-between;gap:25px;margin-top:65px;padding-top:30px;display:flex}.studio-detail-end>a{color:#6543ca;font-size:13px}.studio-detail-end>a:last-child{text-align:right}.studio-detail-end span{color:#6a6a61;margin-bottom:5px;font-size:10px;display:block}.studio-detail-end strong{font-size:24px;font-weight:600}.studio-empty-copy{color:#6a6a61;border-top:1px solid #deded5;padding:30px 0;font-size:14px}.studio-message{padding-block:65px}.studio-message h1{font-size:clamp(35px,5vw,65px);line-height:1.3}.studio-message>p:not(.studio-page-label){color:#6a6a61;margin:25px 0}.studio-message-symbol{color:#6543ca;margin-bottom:30px;font:italic 100px Georgia,serif;display:block}.studio-error{padding:80px max(25px,10vw)}.studio-error>a{color:#6543ca;margin-left:24px;font-size:13px;display:inline-block}.studio-loading{flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.studio-loading>span{color:#6543ca;font-size:70px;line-height:1}.studio-loading>p{color:#6a6a61;font-size:13px}@media (max-width:1150px){.studio-sidebar{width:210px;padding:35px 23px 25px}.studio-workspace{margin-left:210px}.studio-main{padding-inline:35px}.studio-footer{margin-inline:35px}.studio-sidebar-bottom p{font-size:9px}.studio-work-grid{gap:35px 23px}.studio-notes-layout{grid-template-columns:minmax(0,1fr) minmax(225px,.8fr);gap:26px}.studio-about-layout{gap:30px}.studio-site .studio-contact-layout{gap:28px}.studio-site .contact-form-wrap{padding:22px}}@media (min-width:851px) and (max-height:760px){.studio-sidebar{padding-block:24px 20px}.studio-identity{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:0 12px;display:grid}.studio-identity-symbol{grid-row:1/3;margin-bottom:0;font-size:49px}.studio-identity-name{font-size:37px}.studio-identity-english{grid-column:2;margin-top:8px;font-size:7px}.studio-sidebar-intro{font-size:12px;margin-top:20px!important}.studio-sidebar .studio-navigation{margin-top:22px}.studio-sidebar .studio-navigation a{min-height:42px}.studio-sidebar-bottom{padding-top:20px}}@media (min-width:851px) and (max-height:650px){.studio-sidebar-intro{display:none}}@media (max-width:850px){.studio-sidebar{display:none}.studio-workspace{margin-left:0}.studio-mobile-header{z-index:40;background:#f2f2e9;border-bottom:1px solid #deded5;justify-content:space-between;align-items:center;gap:22px;min-height:68px;padding-inline:24px;display:flex;position:sticky;top:0}.studio-mobile-brand{letter-spacing:-.08em;font-size:26px;font-weight:700}.studio-mobile-brand>span{color:#6543ca}.studio-mobile-caption{font:8px var(--font-geist-mono),monospace;color:#6a6a61;letter-spacing:.05em;margin-right:auto}.studio-mobile-menu summary{cursor:pointer;padding:8px 0 8px 10px;font-size:12px;list-style:none}.studio-mobile-menu summary::-webkit-details-marker{display:none}.studio-mobile-menu summary>span{margin-left:12px}.studio-mobile-menu[open] summary>span{display:inline-block;transform:rotate(45deg)}.studio-mobile-menu nav{background:#f2f2e9;border:1px solid #deded5;border-radius:13px;padding:12px;position:absolute;top:calc(100% + 9px);left:14px;right:14px;box-shadow:0 20px 50px #29292325}.studio-main{padding:38px 28px 45px}.studio-footer{margin-inline:28px}.studio-page-heading h1{font-size:48px}.studio-work-heading h1{font-size:44px}.studio-work-heading{margin-bottom:30px}.studio-about-sticker>span{font-size:65px}.studio-about-sticker i{font-size:220px}}@media (max-width:600px){.studio-mobile-header{padding-inline:20px}.studio-main{padding:30px 20px 40px}.studio-page-heading{margin-bottom:34px}.studio-page-label{font-size:9px;margin-bottom:19px!important}.studio-work-heading h1{font-size:clamp(33px,8.6vw,48px)}.studio-heading-flower{margin-left:10px}.studio-edition{display:none}.studio-page-heading>p:last-child:not(.studio-page-label){margin-top:15px;font-size:12px}.studio-work-toolbar{align-items:flex-start;gap:10px}.studio-work-filters{gap:3px}.studio-work-filters button{min-height:35px;padding:6px 10px;font-size:11px}.studio-work-count{display:none}.studio-work-grid{grid-template-columns:minmax(0,1fr);gap:37px;padding-bottom:0!important}.studio-work-card:nth-child(2n){transform:none}.studio-work-card h2{font-size:23px}.studio-work-card p{font-size:13px}.studio-project-cover{border-radius:12px}.studio-work-card-meta{margin-top:15px}.studio-work-role{margin-top:10px;font-size:11px}.studio-footer{gap:7px 15px;margin-inline:20px;padding-block:22px}.studio-footer>p{flex-basis:100%}.studio-about-layout,.studio-notes-layout{grid-template-columns:minmax(0,1fr);gap:32px}.studio-about-sticker{aspect-ratio:1.25;max-width:450px;transform:rotate(-1deg)}.studio-about-sticker>span{font-size:70px}.studio-about-sticker i{font-size:250px}.studio-about-note{margin-top:35px;padding-block:35px}.studio-about-note h2{font-size:23px}.studio-large-copy{font-size:21px}.studio-skill-list{grid-template-columns:minmax(0,1fr)}.studio-toolbox{margin-top:8px}.studio-record-list>li{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:28px}.studio-record-time{flex-direction:row;justify-content:space-between;align-items:center;padding-top:0}.studio-record-content h2{font-size:21px}.studio-site .studio-contact-layout{grid-template-columns:minmax(0,1fr);gap:35px}.studio-detail-breadcrumb{margin-bottom:28px}.studio-detail-heading h1{font-size:44px}.studio-detail-heading>p{font-size:15px}.studio-detail-cover .studio-project-cover{aspect-ratio:1.36}.studio-detail-cover .cover-wordmark{font-size:17cqw}.studio-detail-cover .cover-flashcards{width:40%;height:49%;top:19%;right:10%}.studio-detail-cover .cover-record{width:64%;top:13%;right:-3%}.studio-detail-cover .cover-receipt{width:49%;height:72%;padding:7%;top:16%;right:17%}.studio-detail-cover .cover-receipt>strong{margin:17px 0;font-size:7cqw}.studio-detail-cover .cover-company-flower{font-size:47cqw}.studio-detail-facts{grid-template-columns:minmax(0,1fr);gap:20px}.studio-detail-facts>div{grid-template-columns:80px minmax(0,1fr);gap:15px;display:grid}.studio-detail-facts dt{margin-bottom:0}.studio-project-outcome{padding:20px}.studio-project-outcome p{font-size:15px}.studio-project-body{margin-top:40px;font-size:14px}.studio-project-body h2{font-size:25px}.studio-project-body h3{font-size:20px}.studio-detail-end{margin-top:40px}.studio-detail-end>a:last-child{text-align:left;flex-basis:100%}}@media (max-width:360px){.studio-main{padding-inline:16px}.studio-mobile-caption{display:none}.studio-work-filters button{padding-inline:8px}.studio-site .form-pair{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.studio-site *,.studio-site :before,.studio-site :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.studio-sidebar,.studio-mobile-header,.studio-work-filters,.studio-footer{display:none}.studio-workspace{margin-left:0}.studio-work-card:nth-child(2n){transform:none}.studio-project-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}.studio-main{padding:20px}}.studio-about-links{flex-wrap:wrap;gap:24px;margin-top:32px;display:flex}.studio-about-links a{color:var(--ref-olive-dark);border-bottom:1px solid;padding-bottom:5px;font-weight:700}.studio-site .contact-copy>.studio-page-label{font:700 12px var(--font-geist-mono), monospace;letter-spacing:.08em;margin:0 0 20px}.studio-site .contact-copy h2{font-size:clamp(26px,2.8vw,38px)}.studio-site .contact-copy>p:not(.studio-page-label){max-width:36ch;font-size:15px;line-height:1.8}
