@font-face{font-family:Pretendard Variable;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/packages/pretendard/dist/web/variable/woff2/PretendardVariable.woff2) format("woff2-variations");font-weight:45 920;font-style:normal;font-display:swap}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,Fira Code,Cascadia Code,SF Mono,Monaco,Consolas,Noto Sans Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:#fff;--foreground:#0f172a;--card:#f8fafc;--card-foreground:#0f172a;--popover:#f8fafc;--popover-foreground:#0f172a;--primary:#3b82f6;--primary-foreground:#fff;--secondary:#64748b;--secondary-foreground:#0f172a;--muted:#f8fafc;--muted-foreground:#64748b;--accent:#06b6d4;--accent-foreground:#0f172a;--destructive:#ef4444;--destructive-foreground:#fff;--border:#e2e8f0;--input:#e2e8f0;--ring:#3b82f6;--radius:8px;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#06b6d4;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-elevated:#f8fafc;--bg-glass:rgba(248,250,252,.95);--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--font-korean:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-code:"JetBrains Mono","Fira Code","Cascadia Code","SF Mono",Consolas,Monaco,monospace;--font-english:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-serif:"Noto Serif KR","Apple SD Gothic Neo",Charter,Georgia,"Times New Roman",serif;--font-display:var(--font-korean);--text-muted:#cbd5e1;--pretendard-body-size:16px;--pretendard-body-line-height:1.65;--pretendard-body-letter-spacing:-0.005em;--pretendard-body-word-break:keep-all;--pretendard-h1-size:2.2em;--pretendard-h1-weight:700;--pretendard-h2-size:1.8em;--pretendard-h2-weight:600;--pretendard-h3-size:1.4em;--pretendard-h3-weight:600;--pretendard-h4-size:1.2em;--pretendard-h4-weight:500;--pretendard-mobile-size:15px;--pretendard-mobile-line-height:1.6;--pretendard-dark-weight:450;--pretendard-dark-letter-spacing:0.01em;--medium-body-size:21px;--medium-body-line-height:1.75;--medium-body-letter-spacing:-0.003em;--medium-paragraph-spacing:32px;--medium-title-size:42px;--medium-title-weight:800;--medium-title-line-height:1.15;--medium-subtitle-size:22px;--medium-subtitle-weight:400;--medium-h2-size:32px;--medium-h2-weight:700;--medium-h3-size:24px;--medium-h3-weight:600;--medium-content-width:1092px;--medium-content-padding:24px;--medium-vertical-rhythm:32px;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-strong:#64748b;--border-focus:#3b82f6;--hover-bg:#f1f5f9;--active-bg:#e2e8f0;--disabled-bg:#f8fafc;--follow-button:#3b82f6;--follow-button-text:#fff;--code-bg:#f8fafc;--code-border:#e2e8f0;--code-text:#334155;--code-comment:#64748b;--code-keyword:#0f172a;--code-string:#059669;--code-number:#dc2626;--code-function:#3b82f6;--color-primary:#3b82f6;--color-primary-light:#60a5fa;--color-primary-dark:#2563eb;--color-accent:#06b6d4;--color-accent-light:#22d3ee;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-muted:#cbd5e1;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-bg-elevated:#f8fafc;--color-border-light:#e2e8f0;--color-border-medium:#cbd5e1;--color-border-dark:#64748b;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#06b6d4;--color-hover-bg:#f1f5f9;--color-active-bg:#e2e8f0;--font-color-0:var(--color-text-primary);--header-height:56px;--header-height-m:56px;--header-height-s:56px;--break-desktop:1280px;--break-tablet:1024px;--break-mobile:768px;--break-mobile-sm:640px;--break-l:1119px;--break-m:839px;--break-s:559px;--break-toc:1160px;--container-max-width:1200px;--sidebar-width:240px;--main-width:800px;--aside-width:240px;--navigation-width:240px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-xs:var(--space-2);--space-sm:var(--space-3);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-8);--space-xxl:var(--space-12);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--radius-tag:6px;--font-sans:"SF Pro Display","Noto Sans KR",system-ui,-apple-system,sans-serif;--font-mono:"SF Mono","Monaco","Consolas","Noto Sans Mono",monospace;--font-serif:"SF Pro Display","Noto Serif KR",Georgia,serif;--font-system:var(--font-sans);--font-nanum-gothic:var(--font-sans);--font-noto-serif-kr:var(--font-serif);--font-raleway:var(--font-sans);--font-size-caption:12px;--font-size-small:14px;--font-size-body:16px;--font-size-body-lg:18px;--font-size-h4:20px;--font-size-h3:24px;--font-size-h2:30px;--font-size-h1:36px;--font-size-display:48px;--line-height-caption:16px;--line-height-small:20px;--line-height-body:24px;--line-height-body-lg:28px;--line-height-h4:28px;--line-height-h3:32px;--line-height-h2:36px;--line-height-h1:40px;--line-height-display:52px;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--article-image-size:120px;--avatar-small:24px;--avatar-medium:32px;--avatar-large:48px;--button-height:44px;--input-height:44px;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}.dark{--background:#0f172a;--foreground:#f8fafc;--card:#1e293b;--card-foreground:#f8fafc;--popover:#1e293b;--popover-foreground:#f8fafc;--primary:#60a5fa;--primary-foreground:#0f172a;--secondary:#64748b;--secondary-foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#64748b;--accent:#22d3ee;--accent-foreground:#0f172a;--destructive:#f87171;--destructive-foreground:#f8fafc;--border:#334155;--input:#334155;--ring:#60a5fa;--radius:8px;--success:#34d399;--warning:#fbbf24;--error:#f87171;--info:#22d3ee;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-elevated:#1e293b;--bg-glass:rgba(30,41,59,.95);--text-primary:#f8fafc;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-muted:#cbd5e1;--pretendard-body-weight:var(--pretendard-dark-weight);--pretendard-body-letter-spacing:var(--pretendard-dark-letter-spacing);--border-light:#334155;--border-medium:#475569;--border-strong:#64748b;--border-focus:#60a5fa;--hover-bg:#334155;--active-bg:#475569;--disabled-bg:#1e293b;--follow-button:#60a5fa;--follow-button-text:#0f172a;--code-bg:#1e293b;--code-border:#334155;--code-text:#e2e8f0;--code-comment:#64748b;--code-keyword:#f8fafc;--code-string:#34d399;--code-number:#f87171;--code-function:#60a5fa;--color-primary:#60a5fa;--color-primary-light:#93c5fd;--color-primary-dark:#3b82f6;--color-accent:#22d3ee;--color-accent-light:#67e8f9;--color-text-primary:#f8fafc;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-muted:#cbd5e1;--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-elevated:#1e293b;--color-border-light:#334155;--color-border-medium:#475569;--color-border-dark:#64748b;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--color-info:#22d3ee;--color-hover-bg:#334155;--color-active-bg:#475569;--font-color-0:var(--color-text-primary)}:root.light{--color-primary:#3b82f6;--color-accent:#06b6d4;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-muted:#cbd5e1;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-bg-elevated:#f8fafc;--color-border-light:#e2e8f0;--color-border-medium:#cbd5e1;--color-border-dark:#64748b;--color-hover-bg:#f1f5f9;--color-active-bg:#e2e8f0;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#06b6d4;--font-color-0:var(--color-text-primary)}@media (prefers-color-scheme:dark){:root:not(.light):not(.dark){--color-primary:#60a5fa;--color-accent:#22d3ee;--color-text-primary:#f8fafc;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-muted:#cbd5e1;--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-elevated:#1e293b;--color-border-light:#334155;--color-border-medium:#475569;--color-border-dark:#64748b;--color-hover-bg:#334155;--color-active-bg:#475569;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--color-info:#22d3ee;--font-color-0:var(--color-text-primary)}}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:24px;padding-left:24px}@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:1200px){.container{max-width:1200px}}@media (min-width:1280px){.container{max-width:1280px}}.sr-only{border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-1{top:-4px}.bottom-4{bottom:16px}.bottom-6{bottom:24px}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:12px}.left-4{left:16px}.left-\[50\%\]{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.right-2{right:8px}.right-4{right:16px}.right-6{right:24px}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-4{top:16px}.top-\[50\%\]{top:50%}.top-\[calc\(var\(--header-height\)\+var\(--space-6\)\)\]{top:calc(var(--header-height) + var(--space-6))}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[999\]{z-index:999}.-mx-1{margin-left:-4px;margin-right:-4px}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:8px;margin-bottom:8px}.my-4{margin-top:16px;margin-bottom:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-8{margin-bottom:32px}.ml-1\.5{margin-left:.375rem}.ml-auto{margin-left:auto}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:4px}.mt-16{margin-top:64px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-1\.5{height:.375rem}.h-10{height:40px}.h-11{height:2.75rem}.h-12{height:48px}.h-16{height:64px}.h-2{height:8px}.h-4{height:16px}.h-5{height:20px}.h-6{height:24px}.h-7{height:1.75rem}.h-8{height:32px}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-auto{height:auto}.h-button{height:44px}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95vh\]{max-height:95vh}.max-h-\[calc\(100vh-12rem\)\]{max-height:calc(100vh - 12rem)}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.max-h-full{max-height:100%}.min-h-\[200px\]{min-height:200px}.min-h-\[32px\]{min-height:32px}.min-h-\[400px\]{min-height:400px}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:40px}.w-12{width:48px}.w-16{width:64px}.w-32{width:8rem}.w-4{width:16px}.w-6{width:24px}.w-8{width:32px}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[280px\]{width:280px}.w-auto{width:auto}.w-button{width:44px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-10{min-width:40px}.min-w-11{min-width:2.75rem}.min-w-9{min-width:2.25rem}.min-w-\[280px\]{min-width:280px}.min-w-\[3rem\]{min-width:3rem}.min-w-\[44px\]{min-width:44px}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-\[300px\]{max-width:300px}.max-w-\[65ch\]{max-width:65ch}.max-w-\[728px\]{max-width:728px}.max-w-\[75vw\]{max-width:75vw}.max-w-\[95vw\]{max-width:95vw}.max-w-container{max-width:1200px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-full{--tw-translate-y:-100%}.-translate-y-full,.translate-x-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:16px}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.scale-150,.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:4px}.gap-1\.5{gap:.375rem}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12px * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16px * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24px * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(32px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(32px * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-keep{word-break:keep-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}.rounded-md{border-radius:6px}.rounded-none{border-radius:0}.rounded-sm{border-radius:4px}.rounded-tag{border-radius:6px}.rounded-xl{border-radius:12px}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-blue-500\/20{border-color:rgba(59,130,246,.2)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:transparent}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-500\/5{background-color:rgba(59,130,246,.05)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:4px}.p-1\.5{padding:.375rem}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6,.p-content{padding:24px}.px-0{padding-left:0;padding-right:0}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:8px;padding-right:8px}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}.px-content{padding-left:24px;padding-right:24px}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:4px;padding-bottom:4px}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:48px;padding-bottom:48px}.py-2{padding-top:8px;padding-bottom:8px}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-6{padding-top:24px;padding-bottom:24px}.py-8{padding-top:32px;padding-bottom:32px}.py-content{padding-top:24px;padding-bottom:24px}.pb-0{padding-bottom:0}.pb-3{padding-bottom:12px}.pb-4{padding-bottom:16px}.pb-6{padding-bottom:24px}.pl-10{padding-left:40px}.pl-2\.5{padding-left:.625rem}.pr-2\.5{padding-right:.625rem}.pr-4{padding-right:16px}.pt-0{padding-top:0}.pt-2{padding-top:8px}.pt-4{padding-top:16px}.pt-6{padding-top:24px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Fira Code,Cascadia Code,SF Mono,Monaco,Consolas,Noto Sans Mono,monospace}.font-nanum-gothic{font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,-apple-system,sans-serif}.font-sans{font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.text-2xl{font-size:24px;line-height:32px;font-weight:600}.text-3xl{font-size:30px;line-height:36px;font-weight:600}.text-4xl{font-size:36px;line-height:40px;font-weight:600}.text-\[10px\]{font-size:10px}.text-base{font-size:16px;line-height:24px;font-weight:400}.text-lg{font-size:18px;line-height:28px;font-weight:400}.text-sm{font-size:14px;line-height:20px;font-weight:400}.text-xl{font-size:20px;line-height:28px;font-weight:500}.text-xs{font-size:12px;line-height:16px;font-weight:400}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal,.font-regular{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-h3{line-height:32px}.leading-none{line-height:1}.leading-relaxed{line-height:1.75}.leading-small{line-height:20px}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-500\/70{color:rgba(59,130,246,.7)}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-card-foreground{color:var(--card-foreground)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-500\/70{color:rgba(34,197,94,.7)}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-500\/70{color:rgba(249,115,22,.7)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-500\/70{color:rgba(168,85,247,.7)}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary{color:var(--secondary)}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:var(--background)}.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-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{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-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in{--tw-enter-scale:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.dark body{background-color:var(--background);font-weight:var(--pretendard-dark-weight);letter-spacing:var(--pretendard-dark-letter-spacing)}.dark .blog-post-title,.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{font-weight:calc(var(--pretendard-h1-weight) - 50);letter-spacing:var(--pretendard-dark-letter-spacing)}.dark .blog-post-content{font-weight:var(--pretendard-dark-weight);letter-spacing:var(--pretendard-dark-letter-spacing)}.dark .blog-post-content h1{font-weight:calc(var(--pretendard-h1-weight) - 50)}.dark .blog-post-content h2{font-weight:calc(var(--pretendard-h2-weight) - 50)}.dark .blog-post-content h3{font-weight:calc(var(--pretendard-h3-weight) - 50)}.dark .blog-post-content h4{font-weight:calc(var(--pretendard-h4-weight) - 50)}.dark .blog-post-title{font-weight:calc(var(--medium-title-weight) - 100);color:var(--text-primary)}.dark .blog-post-content p{font-weight:400;color:var(--text-primary)}.dark .blog-post-content blockquote{color:var(--text-secondary);border-left-color:var(--border-medium)}@media screen and (max-width:768px){body{font-size:var(--pretendard-mobile-size);line-height:var(--pretendard-mobile-line-height)}h1{font-size:calc(var(--pretendard-h1-size) * .85)}h2{font-size:calc(var(--pretendard-h2-size) * .9)}h3{font-size:calc(var(--pretendard-h3-size) * .95)}}:root.dark #Header{background-color:var(--background);border-bottom:1px solid var(--border)}@media screen and (min-width:1120px){:root.dark #Header{background-color:transparent;border-bottom:none}}html{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;font-weight:var(--font-weight-regular);font-size:var(--pretendard-body-size);line-height:var(--pretendard-body-line-height);letter-spacing:var(--pretendard-body-letter-spacing);word-wrap:break-word;font-kerning:normal;color:var(--color-text-primary);background-color:var(--background);overscroll-behavior-y:none;transition:background-color var(--transition-normal)}body,h1,h2,h3,h4,h5,h6{font-family:var(--font-korean);word-break:var(--pretendard-body-word-break)}h1,h2,h3,h4,h5,h6{margin-left:0;margin-right:0;margin-top:0;padding:0;color:inherit;text-rendering:optimizeLegibility}h1{font-size:var(--pretendard-h1-size);font-weight:var(--pretendard-h1-weight);line-height:1.2;letter-spacing:-.01em}h2{font-size:var(--pretendard-h2-size);font-weight:var(--pretendard-h2-weight);line-height:1.3;letter-spacing:-.008em}h3{font-size:var(--pretendard-h3-size);font-weight:var(--pretendard-h3-weight);line-height:1.4;letter-spacing:-.005em}h4{font-size:var(--pretendard-h4-size);font-weight:var(--pretendard-h4-weight);line-height:1.5;letter-spacing:-.003em}a{text-decoration:none}a,a:active{color:var(--font-color-0)}#content{display:flex;flex-direction:column;padding-top:calc(var(--header-height) + 32px);min-height:100vh}.blog-post-container{margin-top:24px}#content main{flex-grow:1}#content footer{padding-top:1rem;padding-bottom:.25rem;text-align:center;font-size:.9rem;opacity:.8}#Header{display:grid;grid-template-columns:auto 1fr auto;position:fixed;top:0;z-index:1001;width:100%;align-items:center;gap:var(--space-md);padding:0 var(--space-lg);height:var(--header-height);max-height:var(--header-height);transition:top .3s;transition-delay:.2s;background-color:var(--background);border-bottom:1px solid var(--border-light);-webkit-user-select:none;-moz-user-select:none;user-select:none;backdrop-filter:blur(8px);box-shadow:0 2px 4px rgba(0,0,0,.08)}@media screen and (max-width:1024px){#Header{padding:0 var(--space-md)}}@media screen and (max-width:768px){#Header{padding:0 var(--space-md)}}#Header.mobile{top:0!important}#Header.show{top:0}#Header.hide{top:calc(-1 * var(--header-height))}.header-title{display:flex;align-items:flex-end;grid-column:1}@media screen and (max-width:559px){.header-title{align-items:center}}.header-profile-image-wrap{display:flex;align-items:center;border:1px solid #aaa;padding:2px;border-radius:100%;margin-right:.25rem}@media screen and (max-width:559px){.header-profile-image-wrap{padding:1px}}.header-profile-image-wrap img{border-radius:100%;margin:0;opacity:.8;transition:all .5s;transition-timing-function:ease-in-out}@media screen and (max-width:1119px){.header-profile-image-wrap img{width:25px!important;height:25px!important}}@media screen and (max-width:559px){.header-profile-image-wrap img{width:15px!important;height:15px!important}}.header-profile-image-wrap img:hover{opacity:1}.header-title-text{margin:0;font-size:1.6rem;font-weight:400;font-family:var(--font-korean);opacity:.9;transition:.3s}.header-title-text:hover{opacity:1}@media screen and (max-width:559px){.header-title-text{font-size:1.1rem}}#nav{display:flex;align-items:center;grid-column:2;justify-self:center;transform:translateX(-1rem)}#nav ul{display:flex;margin:0}#nav li{list-style:none;margin:0 0 0 1rem}#nav li svg{margin:0;font-size:1.2rem;color:#666;transition:.3s;opacity:.5}#nav li svg:hover{opacity:.8}@media screen and (max-width:839px){#Header{grid-template-columns:1fr auto}#nav{grid-column:2;justify-self:end;margin-right:1rem;transform:none}}@media screen and (max-width:559px){#nav li svg{font-size:1rem}}#nav li span{font-family:var(--font-korean)}#nav li .search-wrap,#nav li .tag-wrap,#nav li .theme-wrap{display:flex;align-items:center;height:1.5rem}#nav li .search-wrap svg,#nav li .tag-wrap svg{margin-top:3px}#nav li .theme-wrap{height:auto;margin-top:-2px}#nav li .search-wrap,#nav li .tag-wrap,#nav li .theme-wrap{display:flex!important;align-items:center!important}#nav li .search-wrap,#nav li .tag-wrap{height:1.5rem!important}#nav li .search-wrap svg,#nav li .tag-wrap svg{color:#666!important;opacity:.5!important;font-size:1.2rem!important;transition:.3s!important}#nav li .search-wrap svg:hover,#nav li .tag-wrap svg:hover{opacity:.8!important}#nav li .tag-wrap{position:relative}#nav li .tag-wrap span{position:absolute;left:-2.7rem;color:#ababab;border-radius:10px;padding-right:2rem;padding-left:.5rem;opacity:0!important;visibility:hidden;transition:opacity .5s,visibility .5s;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;font-family:var(--font-korean)}.index-wrap{display:grid;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--space-lg);grid-template-columns:1fr;gap:var(--grid-gap);min-height:100vh}@media screen and (min-width:1024px){.index-wrap{grid-template-columns:var(--sidebar-width) 1fr}}@media screen and (min-width:1200px){.index-wrap{grid-template-columns:var(--sidebar-width) var(--main-width) var(
        --aside-width
      )}}.index-post-list-wrap,.index-post-list-wrap>div{width:100%}.blog-post-container{margin-bottom:2rem;position:relative}.blog-post-container .ad,.blog-post-container>div{max-width:var(--medium-content-width);margin:0 auto;padding:0 var(--medium-content-padding)}.blog-post{padding:var(--medium-content-padding);max-width:var(--medium-content-width);margin:0 auto}@media screen and (min-width:1280px){.blog-post-container{margin-right:auto;margin-left:auto}}.blog-post-title{font-size:var(--medium-title-size);font-weight:var(--medium-title-weight);margin:48px 0 var(--medium-vertical-rhythm) 0;font-family:var(--font-display);line-height:var(--medium-title-line-height);letter-spacing:-.015em;word-break:var(--pretendard-body-word-break);color:var(--text-primary)}.series-list{margin:2rem 0 0;display:flex;flex-direction:column;align-items:flex-end;font-family:var(--font-korean);font-size:.9rem}.series-item{list-style:none;margin:0;opacity:.4;transition:all .2s}.series-item:hover{opacity:.9}.series-item a{text-decoration:none}.series-item.current-series{opacity:.7}.inside-toc-wrap{margin-top:1rem}.blog-post-content{margin-top:var(--medium-vertical-rhythm);word-break:var(--pretendard-body-word-break);color:var(--text-primary)}.blog-post-content,.blog-post-content p{font-family:var(--font-serif);font-size:var(--medium-body-size);line-height:var(--medium-body-line-height);letter-spacing:var(--medium-body-letter-spacing)}.blog-post-content p{margin-bottom:var(--medium-paragraph-spacing)}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3,.blog-post-content h4,.blog-post-content h5,.blog-post-content h6{font-family:var(--font-display);word-break:var(--pretendard-body-word-break);color:var(--text-primary);margin-bottom:1rem}.blog-post-content h1{letter-spacing:-.01em;margin-top:calc(var(--medium-vertical-rhythm) * 2);margin-bottom:var(--medium-vertical-rhythm)}.blog-post-content h1,.blog-post-content h2{font-size:var(--medium-h2-size);font-weight:var(--medium-h2-weight);line-height:1.25}.blog-post-content h2{letter-spacing:-.008em;margin-top:calc(var(--medium-vertical-rhythm) * 1.5);margin-bottom:calc(var(--medium-vertical-rhythm) * .75)}.blog-post-content h3{font-size:var(--medium-h3-size);font-weight:var(--medium-h3-weight);line-height:1.3;letter-spacing:-.005em;margin-top:calc(var(--medium-vertical-rhythm) * 1.25)}.blog-post-content h3,.blog-post-content h4{margin-bottom:calc(var(--medium-vertical-rhythm) * .5)}.blog-post-content h4{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.003em;margin-top:var(--medium-vertical-rhythm)}.blog-post-content ol,.blog-post-content ul{margin:var(--medium-paragraph-spacing) 0;padding-left:24px}.blog-post-content li{margin-bottom:12px;font-family:var(--font-serif);font-size:var(--medium-body-size);line-height:var(--medium-body-line-height)}.blog-post-content li ol,.blog-post-content li ul{margin-top:12px;margin-bottom:0}.blog-post-content blockquote{margin:calc(var(--medium-vertical-rhythm) * 1.5) 0;padding:0 32px;border-left:3px solid var(--border-medium);font-style:italic;font-size:calc(var(--medium-body-size) * 1.05);color:var(--text-secondary)}.blog-post-content code{font-family:var(--font-code)}.toc-content a.toc-active{opacity:1!important;font-weight:700!important;color:var(--primary)!important;background-color:hsl(var(--primary)/.15)!important;border-left:3px solid var(--primary)!important;padding-left:8px!important;margin-left:-3px!important;transform:translateX(4px)!important;box-shadow:0 2px 8px hsl(var(--primary)/.2)!important}.toc-content a.toc-active:hover{opacity:1!important;background-color:hsl(var(--primary)/.2)!important;transform:translateX(6px)!important}.toc-content a{transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative!important}.toc-content a:not(.toc-active):hover{transform:translateX(2px)!important;background-color:hsl(var(--secondary)/.8)!important}.ad{margin-top:2rem;margin-bottom:2rem}.ad-dev,.comments-dev{border:1px dotted gray;min-height:15rem;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-korean)}.ad-dev>:first-child,.comments-dev>:first-child{opacity:.8}.ad-dev>:nth-child(2),.comments-dev>:nth-child(2){font-size:.9rem;opacity:.5}.comments-dev{min-height:20rem}.comments{padding:1rem}.toc-container.fixed{top:104px!important}code[class*=language-],pre[class*=language-]{color:#24292e;background:none;text-shadow:0 1px rgba(0,0,0,.3);font-family:var(--font-code);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em;background:#f6f8fa;border:1px solid #e1e4e8}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f6f8fa}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;white-space:normal;color:#d73a49;background:rgba(27,31,35,.05)}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6a737d;font-style:italic}.token.punctuation{color:#586069}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#22863a}.token.boolean,.token.number{color:#005cc5}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#032f62}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#d73a49}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#6f42c1}.token.keyword{color:#d73a49}.token.important,.token.regex{color:#e36209}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.blog-post-content pre{background:#f6f8fa!important;border:1px solid #e1e4e8;border-radius:6px;font-size:.9em;margin:1.5rem 0;padding:1rem;overflow-x:auto}.blog-post-content code:not([class*=language-]){background:rgba(27,31,35,.05);border-radius:3px;font-family:var(--font-code);font-size:.85em;padding:.2em .4em;color:#d73a49}.blog-post-content img{max-width:100%;height:auto;display:block;margin:1.5rem auto;width:auto;max-width:min(590px,100%);transition:opacity .3s ease,transform .2s ease;-o-object-fit:contain;object-fit:contain;cursor:zoom-in}.blog-post-content img:hover{transform:scale(1.02);opacity:.95}@media screen and (max-width:720px){.blog-post-content img{max-width:calc(100vw - 2rem);margin:1.5rem 1rem}}@media screen and (max-width:559px){.blog-post-content img{max-width:calc(100vw - 1rem);margin:1rem .5rem}}.blog-post-content p img{margin:1.5rem auto;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.blog-post-content,.blog-post-content p{overflow-x:hidden}.blog-post-content img[src*="/images/"]{background:#f8f9fa;border:1px solid #e9ecef}.blog-post-content img:not([src]),.blog-post-content img[src=""]{content:"🖼️ 이미지를 불러올 수 없습니다";display:block;text-align:center;padding:2rem;background:#f8f9fa;color:#6c757d;border:2px dashed #dee2e6;border-radius:8px;font-size:.9rem;margin:1.5rem auto}@media (prefers-reduced-motion:reduce){.blog-post-content img{transition:none}.blog-post-content img:hover{transform:none}}@media (prefers-contrast:high){.blog-post-content p img{border:2px solid;box-shadow:none}}@media (prefers-color-scheme:dark){.blog-post-content img[src*="/images/"]{background:#2d3748;border:1px solid #4a5568}.blog-post-content p img{box-shadow:0 2px 8px rgba(0,0,0,.3)}}:focus-visible{outline:2px solid #4285f4;outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}.toc-button:focus-visible,button:focus-visible{outline:2px solid #4285f4;outline-offset:2px;border-radius:4px}.skip-to-content{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000}.skip-to-content:focus{top:6px}@media screen and (max-width:768px){.max-w-container{padding-left:var(--space-md);padding-right:var(--space-md)}.social-share-item>div,.toc-button{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.social-share-list{gap:var(--space-md)}.blog-post-container .ad,.blog-post-container>div{padding:0 16px}.blog-post{padding:16px}.blog-post-title{font-size:calc(var(--medium-title-size) * .8);line-height:1.2;letter-spacing:-.012em;margin-bottom:24px}.blog-post-content,.blog-post-content p{font-size:18px;line-height:1.65}.blog-post-content p{margin-bottom:24px}.blog-post-content h1{margin-top:48px;margin-bottom:24px}.blog-post-content h1,.blog-post-content h2{font-size:calc(var(--medium-h2-size) * .85);line-height:1.25}.blog-post-content h2{margin-top:40px;margin-bottom:20px}.blog-post-content h3{font-size:calc(var(--medium-h3-size) * .9);line-height:1.3;margin-top:32px;margin-bottom:16px}.grid-cols-medium-2,.grid-cols-medium-3{grid-template-columns:1fr!important}#Header{height:var(--header-height);padding:0 var(--space-md)}}@media screen and (min-width:768px) and (max-width:1024px){.max-w-container{padding-left:var(--space-lg);padding-right:var(--space-lg)}.grid-cols-medium-3{grid-template-columns:var(--sidebar-width) 1fr!important}.desktop\\:block{display:none!important}}@media screen and (min-width:1200px){.max-w-container{max-width:var(--container-max-width);padding-left:var(--space-lg);padding-right:var(--space-lg)}.grid-cols-medium-3{grid-template-columns:var(--sidebar-width) var(--main-width) var(
        --aside-width
      )!important}.desktop\\:block{display:block!important}}@media screen and (max-width:559px){.max-w-container{padding-left:var(--space-sm);padding-right:var(--space-sm)}.blog-post-container .ad,.blog-post-container>div{padding:0 12px}.blog-post{padding:12px}.blog-post-title{font-size:calc(var(--medium-title-size) * .7);line-height:1.25;letter-spacing:-.01em;margin-bottom:20px}.blog-post-content,.blog-post-content p{font-size:16px;line-height:1.6}.blog-post-content p{margin-bottom:20px}.blog-post-content h1{font-size:calc(var(--medium-h2-size) * .75);margin-top:40px;margin-bottom:20px}.blog-post-content h2{font-size:calc(var(--medium-h2-size) * .75);margin-top:32px;margin-bottom:16px}.blog-post-content h3{font-size:calc(var(--medium-h3-size) * .8);margin-top:24px;margin-bottom:12px}.blog-post{padding:var(--space-sm)}}@media (prefers-contrast:high){.toc-button{border:2px solid}.social-share-item circle{stroke:currentColor;stroke-width:1}}@media (prefers-reduced-motion:reduce){.social-share-item>div,.toc a{transition:none}.social-share-item>div:hover{transform:none}window{scroll-behavior:auto!important}}@media print{.ad,.back-navigation,.social-share,.toc.outside{display:none!important}.blog-post{padding:0}.blog-post-content a:after{content:" (" attr(href) ")";font-size:.8em;color:#666}}.blog-post-content img:not([src]){background:#f8f9fa;border:2px dashed #dee2e6;display:flex;align-items:center;justify-content:center;min-height:200px}.blog-post-content img:not([src]):before{content:"🖼️ 이미지를 불러오는 중...";color:#6c757d;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tag-page{padding:2rem 1rem;max-width:800px;margin:0 auto}.tag-header{margin-bottom:3rem;text-align:center;border-bottom:1px solid #e1e5e9;padding-bottom:2rem}.tag-title{font-family:var(--font-korean);font-size:2.5rem;font-weight:700;margin:0 0 .5rem;color:var(--font-color-0);display:flex;align-items:center;justify-content:center;gap:.5rem}.tag-symbol{color:#0070f3;font-size:2rem}.tag-description{font-size:1.1rem;color:#6a737d;margin:0;font-weight:300}@media screen and (max-width:720px){.tag-page{padding:1rem .5rem}.tag-header{margin-bottom:2rem;padding-bottom:1.5rem}.tag-title{font-size:2rem}.tag-symbol{font-size:1.5rem}.tag-description{font-size:1rem}}.tag-not-found{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem 1rem}.tag-not-found-content{text-align:center;max-width:600px;margin:0 auto}.tag-not-found h1{font-family:var(--font-korean);font-size:2.5rem;font-weight:700;margin:0 0 1rem;color:var(--font-color-0)}.tag-not-found p{font-size:1.1rem;line-height:1.6;color:#6a737d;margin:0 0 1rem}.tag-not-found strong{color:#0070f3;font-weight:600}.tag-not-found-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:600;transition:all .2s ease;display:inline-block}.btn-primary{background:#0070f3;color:#fff}.btn-primary:hover{background:#0056b3;transform:translateY(-1px)}.btn-secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.btn-secondary:hover{background:#e9ecef;transform:translateY(-1px)}@media screen and (max-width:720px){.tag-not-found h1{font-size:2rem}.tag-not-found p{font-size:1rem}.tag-not-found-actions{flex-direction:column;align-items:center}}.toc-header-hidden{display:none!important}.blog-post-content .table-of-contents,.blog-post-content .toc,.blog-post-content code.language-toc,.blog-post-content pre:has(code.language-toc),.blog-post-content pre[class*=language-toc]{display:none!important}.blog-post-content code[class*=toc],.blog-post-content pre code[class*=language-toc],.blog-post-content pre[data-language=toc]{display:none!important}.blog-post-content pre:has(code[class*=toc]){display:none!important}.blog-post-content h1[data-toc-title],.blog-post-content h2[data-toc-title],.blog-post-content h3[data-toc-title],.blog-post-content h4[data-toc-title],.blog-post-content h5[data-toc-title],.blog-post-content h6[data-toc-title]{display:none!important}.blog-post-content h1:has(+pre[class*=language-toc]),.blog-post-content h2:has(+pre[class*=language-toc]),.blog-post-content h3:has(+pre[class*=language-toc]),.blog-post-content h4:has(+pre[class*=language-toc]),.blog-post-content h5:has(+pre[class*=language-toc]),.blog-post-content h6:has(+pre[class*=language-toc]){display:none!important}.blog-post-content h1:has(+pre code[class*=toc]),.blog-post-content h2:has(+pre code[class*=toc]),.blog-post-content h3:has(+pre code[class*=toc]),.blog-post-content h4:has(+pre code[class*=toc]),.blog-post-content h5:has(+pre code[class*=toc]),.blog-post-content h6:has(+pre code[class*=toc]){display:none!important}[data-testid=post-list] article [data-toc-excerpt]{display:none!important}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:14px;line-height:20px;font-weight:400}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.hover\:-translate-y-1:hover{--tw-translate-y:-4px}.hover\:-translate-y-1:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-border:hover{border-color:var(--border)}.hover\:border-primary:hover{border-color:var(--primary)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background:hover{background-color:var(--background)}.hover\:bg-blue-500\/10:hover{background-color:rgba(59,130,246,.1)}.hover\:bg-blue-600\/10:hover{background-color:rgba(37,99,235,.1)}.hover\:bg-blue-700\/10:hover{background-color:rgba(29,78,216,.1)}.hover\:bg-card:hover{background-color:var(--card)}.hover\:bg-gray-500\/10:hover{background-color:hsla(220,9%,46%,.1)}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-orange-500\/10:hover{background-color:rgba(249,115,22,.1)}.hover\:bg-pink-500\/10:hover{background-color:rgba(236,72,153,.1)}.hover\:bg-primary:hover{background-color:var(--primary)}.hover\:bg-red-500\/10:hover{background-color:rgba(239,68,68,.1)}.hover\:bg-sky-500\/10:hover{background-color:rgba(14,165,233,.1)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-inherit:hover{color:inherit}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-95:hover{opacity:.95}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{border-color:var(--primary)}.focus\:bg-background:focus{background-color:var(--background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.group\/btn:hover .group-hover\/btn\:translate-x-1{--tw-translate-x:4px}.group:hover .group-hover\:scale-105,.group\/btn:hover .group-hover\/btn\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:scale-\[1\.01\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.01\]{--tw-scale-x:1.01;--tw-scale-y:1.01}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-primary{color:var(--primary)}.group:hover .group-hover\:text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.group:hover .group-hover\:shadow-lg,.group:hover .group-hover\:shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(168\2c 85\2c 247\2c 0\.3\)\]{--tw-drop-shadow:drop-shadow(0 0 8px rgba(168,85,247,.3))}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(168\2c 85\2c 247\2c 0\.3\)\],.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(245\2c 158\2c 11\2c 0\.3\)\]{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)}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(245\2c 158\2c 11\2c 0\.3\)\]{--tw-drop-shadow:drop-shadow(0 0 8px rgba(245,158,11,.3))}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(34\2c 197\2c 94\2c 0\.3\)\]{--tw-drop-shadow:drop-shadow(0 0 8px rgba(34,197,94,.3))}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(34\2c 197\2c 94\2c 0\.3\)\],.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(59\2c 130\2c 246\2c 0\.3\)\]{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)}.group:hover .group-hover\:drop-shadow-\[0_0_8px_rgba\(59\2c 130\2c 246\2c 0\.3\)\]{--tw-drop-shadow:drop-shadow(0 0 8px rgba(59,130,246,.3))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:bg-primary[data-state=on]{background-color:var(--primary)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=on\]\:text-primary-foreground[data-state=on]{color:var(--primary-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-8px}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:8px}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-8px}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:8px}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}@media not all and (min-width:768px){.max-md\:right-0{right:0}.max-md\:top-0{top:0}.max-md\:h-9{height:2.25rem}.max-md\:w-9{width:2.25rem}.max-md\:w-full{width:100%}.max-md\:max-w-\[120px\]{max-width:120px}.max-md\:max-w-\[150px\]{max-width:150px}.max-md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-md\:flex-col{flex-direction:column}.max-md\:items-start{align-items:flex-start}.max-md\:gap-2{gap:8px}.max-md\:self-start{align-self:flex-start}.max-md\:overflow-hidden{overflow:hidden}.max-md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.max-md\:px-3{padding-left:12px;padding-right:12px}.max-md\:py-2{padding-top:8px;padding-bottom:8px}.max-md\:text-sm{font-size:14px;line-height:20px;font-weight:400}}@media not all and (min-width:640px){.max-sm\:right-0{right:0}.max-sm\:top-0{top:0}.max-sm\:h-1{height:4px}.max-sm\:h-8{height:32px}.max-sm\:w-1{width:4px}.max-sm\:w-8{width:32px}.max-sm\:text-xs{font-size:12px;line-height:16px;font-weight:400}}@media (min-width:640px){.sm\:block{display:block}.sm\:hidden{display:none}.sm\:h-20{height:80px}.sm\:w-20{width:80px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-1{gap:4px}.sm\:gap-2{gap:8px}.sm\:gap-3{gap:12px}.sm\:gap-4{gap:16px}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:8px}.sm\:p-4{padding:16px}.sm\:px-6{padding-left:24px;padding-right:24px}.sm\:text-left{text-align:left}.sm\:text-lg{font-size:18px;line-height:28px;font-weight:400}}@media (min-width:768px){.md\:mb-4{margin-bottom:16px}.md\:line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:block{display:block}.md\:hidden{display:none}.md\:h-8{height:32px}.md\:h-article-image{height:120px}.md\:min-h-\[28px\]{min-height:28px}.md\:min-h-\[40px\]{min-height:40px}.md\:w-8{width:32px}.md\:w-article-image{width:120px}.md\:min-w-\[40px\]{min-width:40px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-2{gap:8px}.md\:gap-3{gap:12px}.md\:gap-6{gap:24px}.md\:rounded-lg{border-radius:8px}.md\:rounded-xl{border-radius:12px}.md\:p-content{padding:24px}.md\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.md\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.md\:text-3xl{font-size:30px;line-height:36px;font-weight:600}.md\:text-4xl{font-size:36px;line-height:40px;font-weight:600}.md\:text-lg{font-size:18px;line-height:28px;font-weight:400}.md\:text-sm{font-size:14px;line-height:20px;font-weight:400}.md\:leading-h3{line-height:32px}}@media (min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:32px;padding-right:32px}.lg\:text-4xl{font-size:36px;line-height:40px;font-weight:600}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:9999px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-border::-webkit-scrollbar-thumb{background-color:var(--border)}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:transparent}.\[\&\:\:-webkit-scrollbar\]\:w-1::-webkit-scrollbar{width:4px}.\[\&\>div\]\:bg-gradient-to-r>div{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.\[\&\>div\]\:from-primary>div{--tw-gradient-from:var(--primary) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.\[\&\>div\]\:transition-all>div{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&\>div\]\:duration-200>div{transition-duration:.2s;animation-duration:.2s}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:8px;padding-right:8px}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:12px;line-height:16px;font-weight:400}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:8px;padding-right:8px}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:20px}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:20px}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:48px}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:8px;padding-right:8px}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:12px;padding-bottom:12px}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:20px}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:20px}.\[\&_a\.active\]\:font-medium a.active{font-weight:500}.\[\&_a\.active\]\:text-primary a.active{color:var(--primary)}.\[\&_a\.active\]\:opacity-100 a.active{opacity:1}.\[\&_a\]\:block a{display:block}.\[\&_a\]\:max-w-full a{max-width:100%}.\[\&_a\]\:truncate a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&_a\]\:rounded-md a{border-radius:6px}.\[\&_a\]\:px-2 a{padding-left:8px;padding-right:8px}.\[\&_a\]\:py-1 a{padding-top:4px;padding-bottom:4px}.\[\&_a\]\:text-muted-foreground a{color:var(--muted-foreground)}.\[\&_a\]\:no-underline a{text-decoration-line:none}.\[\&_a\]\:opacity-60 a{opacity:.6}.\[\&_a\]\:transition-all a{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&_a\]\:duration-200 a{transition-duration:.2s;animation-duration:.2s}.\[\&_a\]\:hover\:opacity-100:hover a{opacity:1}.\[\&_a\]\:focus\:bg-secondary:focus a{background-color:var(--secondary)}.\[\&_a\]\:focus\:opacity-100:focus a{opacity:1}.\[\&_a\]\:focus\:ring-2:focus a{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&_img\]\:hidden img{display:none}.\[\&_li\]\:leading-relaxed li{line-height:1.75}.\[\&_p\]\:mb-0 p{margin-bottom:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:16px;height:16px}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_ul\]\:ml-4 ul{margin-left:16px}.\[\&_ul\]\:list-none ul{list-style-type:none}.\[\&_ul\]\:space-y-1 ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px * var(--tw-space-y-reverse))}