*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #fbfbfa;--bg-hover: #f3f3f2;--bg-tag: #f1f1ef;--text-primary: #37352f;--text-secondary: rgba(55, 53, 47, .72);--text-tertiary: rgba(55, 53, 47, .48);--border-primary: #e9e9e7;--border-secondary: #d8d8d5;--accent-primary: #0b6e99;--accent-hover: #084f73;--space-xs: .25rem;--space-sm: .5rem;--space-md: .875rem;--space-lg: 1.25rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.375rem;--text-4xl: 2.75rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(15, 15, 15, .04);--shadow-md: 0 6px 18px rgba(15, 15, 15, .06);--shadow-lg: 0 14px 30px rgba(15, 15, 15, .08);--max-width: 1080px;--content-width: 860px;--header-height: 52px}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}a{color:inherit;text-decoration:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.content{max-width:var(--content-width);margin:0 auto}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}::-moz-selection{background-color:#2383e247}::selection{background-color:#2383e247}@media (max-width: 768px){:root{--text-4xl: 2.2rem;--text-3xl: 1.9rem;--text-2xl: 1.45rem}.container{padding:0 1rem}}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.mb-\[0\.28rem\]{margin-bottom:.28rem}.mb-\[0\.32rem\]{margin-bottom:.32rem}.mb-\[0\.35rem\]{margin-bottom:.35rem}.mb-\[0\.55rem\]{margin-bottom:.55rem}.mb-\[0\.6rem\]{margin-bottom:.6rem}.mb-\[0\.9rem\]{margin-bottom:.9rem}.mb-\[1\.2rem\]{margin-bottom:1.2rem}.mr-5{margin-right:1.25rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[1\.6rem\]{margin-top:1.6rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-24{height:6rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-\[120px\]{height:120px}.h-\[18px\]{height:18px}.h-full{height:100%}.min-h-\[170px\]{min-height:170px}.min-h-screen{min-height:100vh}.w-32{width:8rem}.w-40{width:10rem}.w-44{width:11rem}.w-\[153px\]{width:153px}.w-full{width:100%}.min-w-\[18px\]{min-width:18px}.max-w-\[760px\]{max-width:760px}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-\[0\.25rem\]{gap:.25rem}.gap-\[0\.45rem\]{gap:.45rem}.gap-x-\[0\.8rem\]{-moz-column-gap:.8rem;column-gap:.8rem}.gap-x-\[0\.9rem\]{-moz-column-gap:.9rem;column-gap:.9rem}.gap-y-\[0\.35rem\]{row-gap:.35rem}.gap-y-\[0\.4rem\]{row-gap:.4rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[rgba\(11\,110\,153\,0\.28\)\]{border-color:#0b6e9947}.border-\[var\(--border-primary\)\]{border-color:var(--border-primary)}.border-transparent{border-color:transparent}.bg-\[\#edf5f8\]{--tw-bg-opacity: 1;background-color:rgb(237 245 248 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(11\,110\,153\,0\.12\)\]{background-color:#0b6e991f}.bg-\[var\(--bg-hover\)\]{background-color:var(--bg-hover)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tag\)\]{background-color:var(--bg-tag)}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-\[linear-gradient\(180deg\,\#fff_0\%\,\#fbfbfa_100\%\)\]{background-image:linear-gradient(180deg,#fff,#fbfbfa)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-\[0\.72rem\]{padding:.72rem}.p-\[0\.85rem\]{padding:.85rem}.p-\[0\.95rem\]{padding:.95rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-\[0\.58rem\]{padding-left:.58rem;padding-right:.58rem}.px-\[0\.62rem\]{padding-left:.62rem;padding-right:.62rem}.py-\[0\.28rem\]{padding-top:.28rem;padding-bottom:.28rem}.py-\[0\.3rem\]{padding-top:.3rem;padding-bottom:.3rem}.py-\[0\.95rem\]{padding-top:.95rem;padding-bottom:.95rem}.py-\[var\(--space-3xl\)\]{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.pb-\[0\.7rem\]{padding-bottom:.7rem}.pb-\[2\.2rem\]{padding-bottom:2.2rem}.pb-\[var\(--space-3xl\)\]{padding-bottom:var(--space-3xl)}.pl-5{padding-left:1.25rem}.pt-\[0\.2rem\]{padding-top:.2rem}.pt-\[calc\(var\(--header-height\)\+1\.4rem\)\]{padding-top:calc(var(--header-height) + 1.4rem)}.pt-\[calc\(var\(--header-height\)\+1\.7rem\)\]{padding-top:calc(var(--header-height) + 1.7rem)}.text-left{text-align:left}.text-center{text-align:center}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-\[0\.67rem\]{font-size:.67rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.76rem\]{font-size:.76rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.84rem\]{font-size:.84rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.86rem\]{font-size:.86rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[1\.24rem\]{font-size:1.24rem}.text-\[1\.65rem\]{font-size:1.65rem}.text-\[2rem\]{font-size:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[1\.2\]{line-height:1.2}.leading-\[1\.35\]{line-height:1.35}.leading-\[1\.45\]{line-height:1.45}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.5\],.leading-normal{line-height:1.5}.tracking-\[-0\.015em\]{letter-spacing:-.015em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[0\.01em\]{letter-spacing:.01em}.tracking-\[0\.12em\]{letter-spacing:.12em}.text-\[var\(--accent-primary\)\]{color:var(--accent-primary)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,background-color\,color\]{transition-property:border-color,background-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\,border-color\]{transition-property:color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:2\]{-webkit-line-clamp:2}.\[_https\:\/\/dev\.to\/tassiofront\/barrel-files-and-why-you-should-stop-using-them-now-bc4_\]{_https://dev.to/tassiofront/barrel-files-and-why-you-should-stop-using-them-now-bc4}.\[_https\:\/\/developer\.mozilla\.org\/ko\/docs\/Web\/API\/Window\/requestIdleCallback_\]{_https://developer.mozilla.org/ko/docs/Web/API/Window/requestIdleCallback}.\[_https\:\/\/github\.com\/diegomura\/react-pdf\/issues\/1252_\]{_https://github.com/diegomura/react-pdf/issues/1252}.\[_https\:\/\/github\.com\/diegomura\/react-pdf\/issues\/1884_\]{_https://github.com/diegomura/react-pdf/issues/1884}.\[_https\:\/\/github\.com\/diegomura\/react-pdf\/issues\/2340_\]{_https://github.com/diegomura/react-pdf/issues/2340}.\[_https\:\/\/github\.com\/diegomura\/react-pdf\/issues\/929_\]{_https://github.com/diegomura/react-pdf/issues/929}.\[_https\:\/\/rollupjs\.org\/configuration-options\/\#output-manualchunks_\]{_https://rollupjs.org/configuration-options/#output-manualchunks}.\[_https\:\/\/toss\.tech\/article\/smart-web-service-cache_\]{_https://toss.tech/article/smart-web-service-cache}.\[display\:-webkit-box\]{display:-webkit-box}.\[font-size\:clamp\(2rem\,5vw\,2\.9rem\)\]{font-size:clamp(2rem,5vw,2.9rem)}.hover\:border-\[var\(--border-secondary\)\]:hover{border-color:var(--border-secondary)}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:shadow-\[var\(--shadow-sm\)\]:hover{--tw-shadow-color: var(--shadow-sm);--tw-shadow: var(--tw-shadow-colored)}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.md\:min-h-0{min-height:0px}.md\:grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.md\:grid-cols-\[1fr_220px\]{grid-template-columns:1fr 220px}.md\:items-start{align-items:flex-start}.md\:gap-4{gap:1rem}.md\:p-\[0\.85rem\]{padding:.85rem}.md\:pb-12{padding-bottom:3rem}.md\:pt-\[calc\(var\(--header-height\)\+2rem\)\]{padding-top:calc(var(--header-height) + 2rem)}.md\:text-\[2rem\]{font-size:2rem}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--border-primary);z-index:100}.header-content[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;height:var(--header-height)}.logo-text[data-astro-cid-3ef6ksr2]{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.menu-button[data-astro-cid-3ef6ksr2]{width:30px;height:30px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.menu-button[data-astro-cid-3ef6ksr2]:hover{color:var(--text-primary);background-color:var(--bg-hover)}.nav-menu[data-astro-cid-3ef6ksr2]{position:fixed;top:0;right:-100%;width:100%;max-width:300px;height:100vh;background-color:var(--bg-secondary);border-left:1px solid var(--border-primary);box-shadow:var(--shadow-md);transition:right .2s ease;z-index:101}.nav-menu[data-astro-cid-3ef6ksr2].active{right:0}.nav-content[data-astro-cid-3ef6ksr2]{padding:1rem}.close-button[data-astro-cid-3ef6ksr2]{width:30px;height:30px;border-radius:var(--radius-sm);margin-bottom:1rem;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.close-button[data-astro-cid-3ef6ksr2]:hover{color:var(--text-primary);background-color:var(--bg-hover)}.nav-list[data-astro-cid-3ef6ksr2]{list-style:none}.nav-list[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{margin-bottom:var(--space-xs)}.nav-list[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:var(--text-sm);font-weight:500;display:block;color:var(--text-secondary);padding:.5rem .625rem;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease}.nav-list[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background-color:var(--bg-hover);color:var(--text-primary)}@media (min-width: 768px){.nav-menu[data-astro-cid-3ef6ksr2]{max-width:400px}}.footer[data-astro-cid-sz7xmlte]{margin-top:var(--space-3xl);padding:2rem 0 1.25rem;background-color:#fcfcfb;border-top:1px solid var(--border-primary)}.footer-content[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.footer-text[data-astro-cid-sz7xmlte] .name[data-astro-cid-sz7xmlte]{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.18rem}.footer-text[data-astro-cid-sz7xmlte] .description[data-astro-cid-sz7xmlte]{font-size:.8rem;color:var(--text-secondary)}.social-links[data-astro-cid-sz7xmlte]{display:flex;gap:.5rem}.social-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);background-color:var(--bg-hover);border:1px solid var(--border-primary);color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.social-link[data-astro-cid-sz7xmlte]:hover{background-color:#edf5f8;color:var(--accent-primary)}.footer-bottom[data-astro-cid-sz7xmlte]{text-align:center;padding-top:.85rem;border-top:1px solid var(--border-primary)}.footer-bottom[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{font-size:.74rem;color:var(--text-tertiary)}@media (max-width: 768px){.footer-content[data-astro-cid-sz7xmlte]{flex-direction:column;gap:var(--space-lg);text-align:center}}
