a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,button,canvas,caption,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,tt,u,ul,var,video{background:0;border:0;box-sizing:border-box;color:inherit;font:inherit;margin:0;outline:0;padding:0;vertical-align:baseline}html,input,textarea{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*,:after,:before{box-sizing:border-box;scrollbar-width:thin}:root{--color-bg:#fff;--color-bg-secondary:#f5f5f5;--color-text:#1a1a1a;--color-text-secondary:#666;--color-primary:#06c;--color-primary-hover:#0052a3;--color-border:#e0e0e0;--color-text-muted:#999;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-mono:"Fira Code","JetBrains Mono",Consolas,Monaco,monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--max-width:1200px;--content-width:768px;--transition-fast:150ms ease;--transition-normal:300ms ease;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgb(0 0 0/5%);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px rgba(0,0,0,.15)}@media(prefers-color-scheme:dark){:root{--color-bg:#1a1a1a;--color-bg-secondary:#2a2a2a;--color-text:#f0f0f0;--color-text-secondary:#a0a0a0;--color-primary:#66b3ff;--color-primary-hover:#9cf;--color-border:#404040;--color-text-muted:#777}}html{--palette-theme:#f1718c;--palette-text:#080808;--palette-highlight:#606060;--palette-background:#fff;--palette-navigation-background:hsla(0,0%,100%,.8);--palette-background-transparent:hsla(0,0%,100%,0);--palette-background-dimmed:#f5f5f5;--palette-selection:#d9d9d9;--palette-main:#aaa;--palette-main-opacity:hsla(0,0%,67%,.7);--palette-sub:#aaa;--palette-sub-opacity:hsla(0,0%,67%,.7);--palette-list-text:#3d3d3d;--palette-comment:#e6e6e6;--palette-comment-2:#f2f2f2;--palette-comment-text:#515151;--palette-scroll:#aaa;--palette-masonry-alt:#fff;--palette-masonry-alt-transparent:hsla(0,0%,90%,0);--palette-link:#0554bb;--palette-grayscale-50:#fafafa;--palette-grayscale-100:#f5f5f5;--palette-grayscale-200:#eee;--palette-grayscale-300:#e0e0e0;--palette-grayscale-400:#bdbdbd;--palette-grayscale-500:#9e9e9e;--palette-grayscale-600:#757575;--palette-grayscale-700:#616161;--palette-grayscale-800:#424242;--palette-grayscale-900:#212121;background-color:#fff;color:#080808}html[data-theme=dark]{--palette-theme:#f1718c;--palette-text:#bbb;--palette-highlight:#f1f1f1;--palette-background:#121212;--palette-navigation-background:rgba(0,0,0,.8);--palette-background-transparent:hsla(0,0%,7%,0);--palette-background-dimmed:#2d2d2d;--palette-selection:#3c3c3c;--palette-main:#2b2b2b;--palette-main-opacity:rgba(43,43,43,.7);--palette-sub:#787878;--palette-sub-opacity:hsla(0,0%,47%,.7);--palette-list-text:#7d7d7d;--palette-comment:#292929;--palette-comment-2:#202020;--palette-comment-text:#aaa;--palette-scroll:#aaa;--palette-masonry-alt:#262626;--palette-masonry-alt-transparent:rgba(38,38,38,0);--palette-link:#55b1ff;--palette-grayscale-50:#161616;--palette-grayscale-100:#212121;--palette-grayscale-200:#424242;--palette-grayscale-300:#616161;--palette-grayscale-400:#757575;--palette-grayscale-500:#9e9e9e;--palette-grayscale-600:#bdbdbd;--palette-grayscale-700:#e0e0e0;--palette-grayscale-800:#eee;--palette-grayscale-900:#f5f5f5;background-color:#121212;color:#bbb}html[data-theme=sepia]{--palette-theme:#f1718c;--palette-text:#080808;--palette-highlight:#606060;--palette-background:#f6f1e1;--palette-navigation-background:hsla(46,64%,86%,.8);--palette-background-transparent:hsla(46,54%,92%,0);--palette-background-dimmed:#ffeece;--palette-selection:#f4d9be;--palette-main:#793d00;--palette-main-opacity:rgba(121,61,0,.7);--palette-sub:#ad661f;--palette-sub-opacity:rgba(173,102,31,.7);--palette-list-text:#e4a667;--palette-comment:#f0cca8;--palette-comment-2:#f4d9be;--palette-comment-text:#653c12;--palette-scroll:#b06457;--palette-masonry-alt:#e8dbb0;--palette-masonry-alt-transparent:hsla(46,55%,80%,0);--palette-link:#0021c2;--palette-grayscale-50:#fafafa;--palette-grayscale-100:#f5f5f5;--palette-grayscale-200:#eee;--palette-grayscale-300:#e0e0e0;--palette-grayscale-400:#bdbdbd;--palette-grayscale-500:#9e9e9e;--palette-grayscale-600:#757575;--palette-grayscale-700:#616161;--palette-grayscale-800:#424242;--palette-grayscale-900:#212121;background-color:#f6f1e1;color:#080808}body,html{height:100%}body{display:flex;flex-direction:column}a{color:var(--palette-text);text-decoration:none}@media(any-hover:hover)and (any-pointer:fine){a:hover{color:var(--palette-highlight)}}a,button{cursor:pointer}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.typography-h1{font-size:2.0275rem;line-height:3.04125rem}.typography-h2{font-size:1.801875rem;line-height:2.7028125rem}.typography-h3{font-size:1.601875rem;line-height:2.4028125rem}.typography-h4{font-size:1.42375rem;line-height:2.135625rem}.typography-h5{font-size:1.265625rem;line-height:1.8984375rem}.typography-h6{font-size:1.125rem;line-height:1.6875rem}.typography-b1{font-size:1rem;line-height:1.625rem}.typography-b2{font-size:.88875rem;line-height:1.44421875rem}.typography-c1{font-size:.79rem;line-height:1.027rem}.typography-c2{font-size:.67875rem;line-height:.882375rem}.global-navigation{left:0;padding:0 12px;position:fixed;top:0;width:100%;z-index:1000}.global-navigation__container{display:flex;height:40px}.global-navigation__left,.global-navigation__right{align-items:center;display:flex;flex:1 0 0}.global-navigation__left{justify-content:flex-start}.global-navigation__right{justify-content:flex-end}.global-navigation__logo{margin-left:8px}.global-navigation__category{align-items:center;display:none;height:40px}@media screen and ((min-width:720px)){.global-navigation__category{display:flex}}.global-navigation__category a{color:var(--palette-text);font-size:.88875rem;font-weight:500;line-height:1.44421875rem}.global-navigation__item{align-items:center;display:inline-flex}.global-navigation__item:not(:last-child){margin-right:12px}.global-navigation__background{backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);background-color:var(--palette-navigation-background);box-shadow:0 5px 10px 0 rgba(0,0,0,.25);height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s cubic-bezier(.645,.045,.355,1);width:100%;z-index:-1}.global-navigation--scrolled .global-navigation__background{opacity:1}.logo__text{fill:var(--palette-text)}@media(any-hover:hover)and (any-pointer:fine){.logo--hover-animation path{transition:transform .5s}.logo--hover-animation:hover .logo__image>path{transform:translate3d(331px,0,0)}.logo--hover-animation:hover .logo__text>path{transform:translate3d(0,-600px,0)}.logo--hover-animation:hover .logo__text>path:nth-child(2n){transform:translate3d(0,600px,0)}}.hamburger{align-items:center;display:flex;flex-direction:column;height:30px;justify-content:center;transition:opacity .35s cubic-bezier(.645,.045,.355,1);width:30px}@media(any-hover:hover)and (any-pointer:fine){.hamburger:not(.hamburger--open):hover .hamburger__line--top{transform:rotate(45deg) scaleX(.7) translate3d(calc(50% - 4px),-2px,0)}.hamburger:not(.hamburger--open):hover .hamburger__line--bottom{transform:rotate(-45deg) scaleX(.7) translate3d(calc(50% - 4px),2px,0)}}.hamburger__line{background-color:var(--palette-text);border-radius:5px;height:3px;transition:background-color .35s cubic-bezier(.645,.045,.355,1),transform .35s cubic-bezier(.645,.045,.355,1),opacity .35s cubic-bezier(.645,.045,.355,1);width:20px}.hamburger__line--middle{margin:3px 0}.hamburger--open .hamburger__line,.hamburger--open:hover .hamburger__line{background-color:#fff}.hamburger--open .hamburger__line--top,.hamburger--open:hover .hamburger__line--top{transform:translate3d(0,6px,0) rotate(-135deg)}.hamburger--open .hamburger__line--middle,.hamburger--open:hover .hamburger__line--middle{opacity:0;transform:rotate(135deg)}.hamburger--open .hamburger__line--bottom,.hamburger--open:hover .hamburger__line--bottom{transform:translate3d(0,-6px,0) rotate(-45deg)}.drawer{background-image:linear-gradient(90deg,rgba(0,0,0,.8),transparent);bottom:0;height:100%;opacity:0;overflow-y:auto;pointer-events:none;position:fixed;top:0;transition:opacity .3s cubic-bezier(.645,.045,.355,1);visibility:hidden;width:100%;z-index:1000}.drawer .hamburger{left:12px;position:absolute;top:5px;z-index:10}.drawer--open{opacity:1;pointer-events:auto;visibility:visible}.drawer__content{left:0;min-height:100%;padding:40px 0;position:absolute;top:0;transition:opacity .3s cubic-bezier(.645,.045,.355,1);width:clamp(0px,100%,350px)}.drawer__nav{background-color:var(--palette-background-dimmed);border-radius:8px;display:flex;flex-direction:column;margin:8px 8px 24px;overflow:hidden}.drawer__nav:last-child{margin-bottom:0}.drawer__nav>li{align-items:center;display:flex;padding:16px 8px}.drawer__nav>li:not(:last-child){border-bottom:1px solid var(--palette-sub)}.drawer__nav>li>a:first-child{align-items:center;color:var(--palette-text);display:flex;font-size:1rem;font-weight:500;line-height:1.625rem;width:100%}.drawer__nav>li>a:first-child>i{align-items:center;display:inline-flex;margin-right:4px}.page-header{padding:24px 0 36px;text-align:center}.page-header h1{font-weight:700}.page-header p{font-size:.79rem;line-height:1.027rem;margin-top:8px}.footer{background-color:var(--palette-background-dimmed);margin-top:auto;text-align:center}.footer__curve{display:block;height:60px;width:100%}.footer__curve path{fill:var(--palette-background)}.footer__logo .footer__name-text{fill:var(--palette-text)}.footer__content{padding:24px 48px}.footer__contact{margin:16px 0}.footer__contact button,.footer__contact>a{background:var(--palette-background);border-radius:50%;font-size:1rem;line-height:2rem;margin:0 5px}.footer__contact button,.footer__contact button>i,.footer__contact>a,.footer__contact>a>i{align-items:center;display:inline-flex;height:2rem;justify-content:center;width:2rem}.footer__copyright{color:var(--palette-grayscale-600);font-size:.79rem;line-height:1.027rem;margin-top:16px}.post-header{background-color:var(--palette-background-dimmed);padding:76px 12px 36px;text-align:center}.post-header--has-cover{padding-bottom:164px}.post-header__tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.post-header__tags a{color:var(--palette-link)}.post-header__title{font-weight:700;margin-bottom:12px}.post__cover{margin:-112px auto 0;padding:0 12px;width:clamp(0px,1140px,100%)}.post__cover img{aspect-ratio:16/9;border:5px solid var(--palette-background);border-radius:16px;display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.post__meta{padding:24px 12px 0}.post__body,.post__meta{margin:0 auto;width:clamp(0px,880px,100%)}.post__body{font-size:1rem;line-height:1.625rem;padding:48px 12px 12px;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-wrap:break-word}.post__body h1{font-size:2.0275rem;font-weight:700;line-height:3.04125rem;margin-bottom:1em}.post__body h2{font-size:1.801875rem;font-weight:700;line-height:2.7028125rem;margin-bottom:.8em}.post__body h3{font-size:1.601875rem;font-weight:700;line-height:2.4028125rem;margin-bottom:.6em}.post__body h4{font-size:1.42375rem;font-weight:700;line-height:2.135625rem;margin-bottom:.4em}.post__body h5{font-size:1.265625rem;font-weight:700;line-height:1.8984375rem;margin-bottom:.2em}.post__body h6{font-size:1.125rem;font-weight:700;line-height:1.6875rem;margin-bottom:0}.post__body p{font-size:1rem;line-height:1.625rem;margin-bottom:.65em}.post__body ol,.post__body ul{margin-bottom:1em}.post__body img,.post__body video{height:auto;max-width:100%}.post__body iframe{height:auto;width:100%}.post__body b,.post__body strong{font-weight:600}.post__body small{font-size:90%}.post__body sub{bottom:-.25em}.post__body sup{top:-.5em}.post__body a{color:var(--palette-link)}@media(any-hover:hover)and (any-pointer:fine){.post__body a:hover{color:var(--palette-highlight)}}.post__body figure{margin-bottom:1em}.post__body code{background-color:var(--palette-background-dimmed);border-radius:4px;font-family:Fira Code,monospace;font-size:90%;overflow-x:auto}html:not([data-theme=dark]) .post__body code[data-theme*=" "],html:not([data-theme=dark]) .post__body code[data-theme*=" "] span{background-color:var(--shiki-light-bg);color:var(--shiki-light)}html[data-theme=dark] .post__body code[data-theme*=" "],html[data-theme=dark] .post__body code[data-theme*=" "] span{background-color:var(--shiki-dark-bg);color:var(--shiki-dark)}html[data-theme=sepia] .post__body code[data-theme*=" "],html[data-theme=sepia] .post__body code[data-theme*=" "] span{background-color:var(--shiki-sepia-bg);color:var(--shiki-sepia)}.post__body pre code{background-color:inherit;display:block}.post__body hr{background-color:var(--palette-sub);border:0;border-bottom:1px solid var(--palette-sub-opacity);height:.25em;margin:24px 0}.post__body ol{list-style:decimal;margin-left:1.5em}.post__body ul{list-style:disc;margin-left:1.5em}.post__body blockquote{border-left:.25em solid var(--palette-sub-opacity);margin:0 0 1em;padding:.5em 1em}.post__body blockquote p:last-child{margin-bottom:0}.post__body table{border:1px solid var(--palette-sub-opacity);border-collapse:collapse;border-spacing:0;margin-bottom:1em;width:100%}.post__body table td,.post__body table th{border:1px solid var(--palette-sub-opacity);padding:.5em 1em}.post__body table th{background-color:var(--palette-sub-opacity);font-weight:700}.post__body figure.image-block figcaption{font-size:.79rem;line-height:1.027rem;margin-top:.2em;text-align:center}.post__body .table{overflow-x:auto}.post__body .iframe-container{aspect-ratio:var(--aspect-w,16)/var(--aspect-h,9);margin-bottom:1em;position:relative;width:100%}.post__body .iframe-container iframe{height:100%;left:0;position:absolute;top:0;width:100%}.post-related-posts{margin:0 auto;padding-bottom:32px;width:clamp(0px,880px,100%)}.post-related-posts__more,.post-related-posts__text,.post-related-posts__title{text-align:center}.post-related-posts__title{margin-bottom:16px}.post-related-posts__title a{text-decoration:underline}.post-related-posts__text{margin-bottom:24px}.post-related-posts__more i{display:inline-block;transition:transform .15s ease-in-out}@media(any-hover:hover)and (any-pointer:fine){.post-related-posts__more a:hover i{transform:translateX(4px)}}pre{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:.875rem;line-height:1.6;margin:var(--spacing-lg) 0;overflow-x:auto;padding:var(--spacing-lg);position:relative}pre code{background:none;font-size:inherit;padding:0}.copy-code{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;opacity:0;padding:var(--spacing-xs) var(--spacing-sm);position:absolute;right:var(--spacing-sm);top:var(--spacing-sm);transition:opacity var(--transition-fast)}pre:hover .copy-code{opacity:1}.copy-code:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}:not(pre)>code{background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;padding:.15em .4em}.athl,.hljs{--syntax-bg:#fff;--syntax-fg:#24292e;--syntax-comment:#6a737d;--syntax-string:#032f62;--syntax-keyword:#d73a49;--syntax-function:#6f42c1;--syntax-type:#005cc5;--syntax-constant:#005cc5;--syntax-variable:#e36209;--syntax-operator:#d73a49;--syntax-punctuation:#24292e;--syntax-property:#005cc5;--syntax-tag:#22863a;--syntax-attribute:#6f42c1;--syntax-number:#005cc5;--syntax-boolean:#005cc5;--syntax-error:#cb2431;--syntax-diff-plus:#22863a;--syntax-diff-minus:#cb2431;--syntax-diff-delta:#6f42c1}html[data-theme=dark] .athl,html[data-theme=dark] .hljs{--syntax-bg:#1a1b26;--syntax-fg:#a9b1d6;--syntax-comment:#565f89;--syntax-string:#9ece6a;--syntax-keyword:#bb9af7;--syntax-function:#7aa2f7;--syntax-type:#2ac3de;--syntax-constant:#ff9e64;--syntax-variable:#c0caf5;--syntax-operator:#89ddff;--syntax-punctuation:#a9b1d6;--syntax-property:#73daca;--syntax-tag:#f7768e;--syntax-attribute:#bb9af7;--syntax-number:#ff9e64;--syntax-boolean:#ff9e64;--syntax-error:#f7768e;--syntax-diff-plus:#9ece6a;--syntax-diff-minus:#f7768e;--syntax-diff-delta:#e0af68}html[data-theme=sepia] .athl,html[data-theme=sepia] .hljs{--syntax-bg:#fdf6e3;--syntax-fg:#657b83;--syntax-comment:#93a1a1;--syntax-string:#2aa198;--syntax-keyword:#859900;--syntax-function:#268bd2;--syntax-type:#b58900;--syntax-constant:#cb4b16;--syntax-variable:#cb4b16;--syntax-operator:#657b83;--syntax-punctuation:#657b83;--syntax-property:#268bd2;--syntax-tag:#268bd2;--syntax-attribute:#b58900;--syntax-number:#d33682;--syntax-boolean:#cb4b16;--syntax-error:#dc322f;--syntax-diff-plus:#859900;--syntax-diff-minus:#dc322f;--syntax-diff-delta:#b58900}.athl,.hljs{background-color:var(--syntax-bg);color:var(--syntax-fg)}.hljs .comment,.hljs .comment-documentation,.hljs .comment-error,.hljs .comment-hint,.hljs .comment-note,.hljs .comment-todo,.hljs .comment-warning{color:var(--syntax-comment);font-style:italic}.hljs .character,.hljs .character-special,.hljs .string,.hljs .string-documentation,.hljs .string-escape,.hljs .string-plain-css,.hljs .string-regexp,.hljs .string-special,.hljs .string-special-path,.hljs .string-special-symbol,.hljs .string-special-symbol-ruby,.hljs .string-special-url,.hljs .string-special-url-html{color:var(--syntax-string)}.hljs .keyword,.hljs .keyword-conditional,.hljs .keyword-conditional-ternary,.hljs .keyword-coroutine,.hljs .keyword-debug,.hljs .keyword-directive,.hljs .keyword-directive-css,.hljs .keyword-directive-define,.hljs .keyword-exception,.hljs .keyword-export,.hljs .keyword-function,.hljs .keyword-import,.hljs .keyword-import-c,.hljs .keyword-import-cpp,.hljs .keyword-modifier,.hljs .keyword-operator,.hljs .keyword-repeat,.hljs .keyword-return,.hljs .keyword-type{color:var(--syntax-keyword);font-weight:600}.hljs .function,.hljs .function-builtin,.hljs .function-builtin-bash,.hljs .function-call,.hljs .function-macro,.hljs .function-method,.hljs .function-method-call,.hljs .function-method-call-php,.hljs .function-method-php{color:var(--syntax-function)}.hljs .constructor,.hljs .constructor-lua,.hljs .constructor-python,.hljs .type,.hljs .type-builtin,.hljs .type-css,.hljs .type-definition,.hljs .type-tag-css{color:var(--syntax-type)}.hljs .constant,.hljs .constant-builtin,.hljs .constant-java,.hljs .constant-macro{color:var(--syntax-constant)}.hljs .variable,.hljs .variable-builtin,.hljs .variable-member,.hljs .variable-parameter,.hljs .variable-parameter-bash,.hljs .variable-parameter-builtin{color:var(--syntax-variable)}.hljs .operator{color:var(--syntax-operator)}.hljs .punctuation-bracket,.hljs .punctuation-delimiter,.hljs .punctuation-delimiter-regex,.hljs .punctuation-special{color:var(--syntax-punctuation)}.hljs .property,.hljs .property-class-css,.hljs .property-css,.hljs .property-id-css,.hljs .property-json,.hljs .property-scss,.hljs .property-toml,.hljs .property-yaml{color:var(--syntax-property)}.hljs .tag,.hljs .tag-attribute,.hljs .tag-builtin,.hljs .tag-delimiter{color:var(--syntax-tag)}.hljs .attribute,.hljs .attribute-builtin{color:var(--syntax-attribute)}.hljs .number,.hljs .number-css,.hljs .number-float{color:var(--syntax-number)}.hljs .boolean{color:var(--syntax-boolean)}.hljs .error{color:var(--syntax-error)}.hljs .diff-plus{color:var(--syntax-diff-plus)}.hljs .diff-minus{color:var(--syntax-diff-minus)}.hljs .diff-delta{color:var(--syntax-diff-delta)}.hljs .label,.hljs .label-yaml{color:var(--syntax-property)}.hljs .import,.hljs .module,.hljs .module-builtin,.hljs .namespace{color:var(--syntax-type)}.hljs .markup,.hljs .markup-environment,.hljs .markup-environment-name{color:var(--syntax-fg)}.hljs .markup-heading,.hljs .markup-heading-1,.hljs .markup-heading-2,.hljs .markup-heading-3,.hljs .markup-heading-4,.hljs .markup-heading-5,.hljs .markup-heading-6{color:var(--syntax-keyword);font-weight:600}.hljs .markup-italic{font-style:italic}.hljs .markup-strong{font-weight:700}.hljs .markup-strikethrough{text-decoration:line-through}.hljs .markup-underline{text-decoration:underline}.hljs .markup-link,.hljs .markup-link-label,.hljs .markup-link-label-html,.hljs .markup-link-url,.hljs .markup-raw,.hljs .markup-raw-block{color:var(--syntax-string)}.hljs .markup-quote{color:var(--syntax-comment);font-style:italic}.hljs .markup-list,.hljs .markup-list-checked,.hljs .markup-list-unchecked{color:var(--syntax-punctuation)}.hljs .markup-math{color:var(--syntax-number)}.page--top-padding{padding-top:40px}.contents{margin:0 auto;width:clamp(0px,1140px,100%)}#main{margin-bottom:32px}.pagination{text-align:center}.pagination--gutter{margin-top:36px}.pagination__page--current{color:var(--palette-main)}.pagination__direction--invisible{visibility:hidden}.pagination>a{color:var(--palette-text);display:inline-block;margin:8px;text-decoration:none}.pagination>a[aria-current=true]{position:relative}.pagination>a[aria-current=true]:after{background-color:var(--palette-main-opacity);border-radius:50%;content:"";height:1.5em;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);width:1.5em;z-index:-1}.post-grid{display:grid;gap:.75em;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.post-grid__more{margin-top:12px;text-align:center}.post-grid__more a>i,.post-grid__more button>i{margin-left:4px}.post-card{display:flex;flex-direction:column;padding:16px 20px;transition:transform .15s ease-in-out}@media(any-hover:hover)and (any-pointer:fine){.post-card:hover{transform:translateY(-5px)}}.post-card__image{border-radius:4px;flex-shrink:0;height:0;margin-bottom:12px;overflow:hidden;padding-bottom:56.25%;position:relative}.post-card__image,.post-card__image img{transition:transform .15s ease-in-out;width:100%}.post-card__image img{display:block;height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0}@media(any-hover:hover)and (any-pointer:fine){.post-card:hover .post-card__image img{transform:scale(1.15)}}.post-card__header{display:flex;flex-direction:column;flex-grow:1}.post-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;overflow:hidden}.post-card__description{margin-bottom:12px;max-height:4.33265625rem;overflow:hidden;position:relative}.post-card__description:after{background-image:linear-gradient(45deg,var(--palette-background-transparent),var(--palette-background) 90%);bottom:0;content:"";height:1.44421875rem;pointer-events:none;position:absolute;right:0;width:30%}.post-card__time{display:block;margin-top:auto;text-align:right}.post-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.related-posts{border-top:1px solid var(--palette-grayscale-200);margin-top:2em;padding-top:1.5em}.related-posts__title{font-size:1.5em;font-weight:700;margin:0 0 1.5em}.prev-next-post{background-color:var(--palette-selection);display:flex;flex-wrap:wrap;justify-content:space-between;margin:48px auto;overflow:hidden;width:clamp(0px,880px,100%)}@media screen and ((min-width:720px)){.prev-next-post{border-radius:8px}}.prev-next-post-post{align-items:flex-end;background-color:#000;color:#fff;display:flex;flex-direction:column;flex-grow:1;flex-wrap:wrap;justify-content:center;margin-left:auto;overflow:hidden;position:relative;text-align:right;width:100%}.prev-next-post-post:hover{color:#fff}.prev-next-post-post--previous{align-items:flex-start;margin-left:0;text-align:left}.prev-next-post-post__meta{background:linear-gradient(-90deg,rgba(0,0,0,.8),rgba(0,0,0,.2) 80%);padding:24px 16px;position:relative;width:100%}.prev-next-post-post--previous .prev-next-post-post__meta{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.2) 80%)}.prev-next-post-post__label{align-items:center;display:flex;flex-direction:row-reverse}.prev-next-post-post__label i{margin-left:4px}.prev-next-post-post--previous .prev-next-post-post__label{flex-direction:row}.prev-next-post-post--previous .prev-next-post-post__label i{margin-left:0;margin-right:4px}.prev-next-post-post__title{display:block;font-weight:700;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prev-next-post-post__cover{height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:.25;pointer-events:none;position:absolute;top:0;transition:transform .15s ease-in-out;width:100%}@media(any-hover:hover)and (any-pointer:fine){.prev-next-post-post:hover .prev-next-post-post__cover{transform:scale(1.15)}}@media screen and ((min-width:720px)){.prev-next-post-post{width:50%}}.profile{padding:0 12px;text-align:center}.profile--size-small{display:flex;gap:12px;text-align:left}.profile__figure{margin-bottom:24px}.profile--size-small .profile__figure{margin-bottom:0}.profile__figure img{border-radius:50%;display:block;margin:0 auto}.profile__content{display:flex;flex-direction:column;font-weight:700;gap:8px}.profile__contact{align-items:center;display:flex;gap:8px;justify-content:center}.profile--size-small .profile__contact{gap:4px;justify-content:flex-start}.profile__contact>li>a{align-items:center;border:1px solid var(--palette-sub);border-radius:50%;display:flex;padding:8px}.profile--size-small .profile__contact>li>a{border:none;padding:4px}.profile__contact>li>a>i{font-size:1.2em}.profile--size-small .profile__contact>li>a>i{font-size:.8em}.button{align-items:center;background-color:var(--palette-background);border:1px solid var(--palette-grayscale-300);border-radius:6px;color:var(--palette-text);justify-content:center;padding:5px 11px;text-decoration:none}.button,.button--resizing-hug{display:inline-flex}.button--resizing-fill{display:flex;width:100%}.button--size-large{padding:13px 21px}.button--size-medium{padding:9px 15px}.button--size-small{padding:5px 11px}.button--variant-base{border:none;padding:0}.button--variant-base.button--disabled{color:var(--palette-grayscale-500)}.button--variant-text{border-color:transparent}.button--variant-text.button--disabled{color:var(--palette-grayscale-500)}.button--variant-primary{background-color:var(--palette-theme);border-color:var(--palette-theme);color:var(--palette-comment-2)}.button--variant-primary.button--disabled{background-color:var(--palette-grayscale-200);border-color:var(--palette-grayscale-200);color:var(--palette-grayscale-500)}.button--variant-secondary{background-color:var(--palette-grayscale-50);border-color:var(--palette-grayscale-200);color:var(--palette-text)}.button--variant-secondary.button--disabled{color:var(--palette-grayscale-500)}.button--variant-outline{background-color:var(--palette-background);border-color:var(--palette-grayscale-300);color:var(--palette-text)}.button--variant-outline.button--disabled{color:var(--palette-grayscale-500)}.button--radius-square{border-radius:0}.button--radius-rounded{border-radius:6px}.button--radius-capsule{border-radius:32px}.button--radius-circle{border-radius:50%}.blog-banner{padding-top:40px;position:relative}.blog-banner__header{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto 12px;padding:360px 20px 0;position:relative;width:clamp(0px,1140px,100%)}@media screen and ((min-width:720px)){.blog-banner__header{align-items:flex-start;flex-direction:row;justify-content:space-between}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.blog-banner__image{filter:blur(9px);height:calc(100% + 40px);left:0;opacity:.25;pointer-events:none;position:absolute;top:-40px;width:100%}.blog-banner__image circle{animation:fade-in 1s ease-in-out forwards;opacity:0}.blog-banner__container{margin:36px auto 48px;width:clamp(0px,1140px,100%)}.blog-banner__container--padding{padding:0 12px}.blog-banner__title{font-weight:700}.home-post-list{margin:36px auto 48px;width:clamp(0px,1140px,100%)}.home-post-list__toggle-button-group{display:flex;justify-content:center;margin-bottom:12px}.home-post-list__view-more{display:flex;justify-content:center;margin-top:12px}.home-post-list__view-more-button i{margin-left:4px;transition:transform .2s ease-in-out}.home-post-list__view-more-button:hover i{transform:translateX(4px)}.tabs{display:flex;margin-bottom:12px}.tabs,.tabs__buttons{justify-content:center}.tabs__buttons{border:1px solid var(--palette-grayscale-300);border-radius:31px;display:inline-flex;overflow:hidden}.tabs__buttons button{border:none;border-radius:0;border-right:1px solid var(--palette-grayscale-300);font-size:.79rem;line-height:1.027rem}@media(any-hover:hover)and (any-pointer:fine){.tabs__buttons button:hover{background-color:var(--palette-grayscale-200)}}.tabs__buttons button:last-child{border-right:none}.tabs__buttons button[data-active=true]{background-color:var(--palette-grayscale-300)}.theme-toggle{cursor:pointer}.theme-toggle__icon circle,.theme-toggle__icon path{fill:#f2c94c;transform-origin:center center;transition:fill .25s ease-in-out,transform .25s ease-in-out,opacity .25s ease-in-out}.theme-toggle__ray{filter:blur(2px);opacity:0}html:not([data-theme=dark]) .theme-toggle__ray{opacity:1}html[data-theme=dark] .theme-toggle__sun{fill:#515255}html[data-theme=dark] .theme-toggle__rays>circle{fill:#25282f}html:not([data-theme=dark]) .theme-toggle__moon{opacity:0}html:not([data-theme=light]) .theme-toggle__rays>circle:first-child{transform:translate(4px,-2px)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(2){transform:translate(0) scale(.5)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(3){transform:translate(-3px,1px) scale(.8)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(4){transform:translateY(5.5px) scale(1.1)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(5){transform:translate(-.8px,-1.7px) scale(.3)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(6){transform:translate(-9.9px,9.4px) scale(1.5)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(7){transform:translate(-1px) scale(.6)}html:not([data-theme=light]) .theme-toggle__rays>circle:nth-child(8){transform:translate(3.8px,-4.4px) scale(1.2)}.scroll-to-top{background-color:var(--color-primary);border:none;border-radius:50%;bottom:var(--spacing-lg);color:#fff;cursor:pointer;height:3rem;opacity:0;position:fixed;right:var(--spacing-lg);transition:opacity var(--transition-fast),visibility var(--transition-fast);visibility:hidden;width:3rem}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top:hover{background-color:var(--color-primary-hover)}