.BlogPostTransitionWrapper_fadeContainer__zcNVG{opacity:0;transition:opacity .3s ease;will-change:opacity}.BlogPostTransitionWrapper_fadeContainerVisible__yeybC{opacity:1}.Comments_commentsContainer__6dPr2{margin:80px 0}.Comments_commentsTitle__XuUSk{font-size:20px;font-weight:600;margin:0 0 32px;color:var(--color-text-primary)}.Comments_commentForm__6Hr_L{padding:0;margin-bottom:64px}.Comments_formGroup__07t4c{margin-bottom:16px}.Comments_label__e4b_y{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text-primary)}.Comments_nicknameInput__IjJ9Z{width:100%;max-width:300px;padding:8px 12px;border:1px solid var(--color-base-8);font-size:16px;background-color:var(--color-bg);color:var(--color-text-primary);transition:border-color .3s;outline:none}.Comments_nicknameInput__IjJ9Z:focus{border-color:var(--color-text-primary)}.Comments_inputError__xxNpJ,.Comments_nicknameInput__IjJ9Z:invalid{border-color:var(--color-error)}.Comments_formGroup__07t4c .Comments_errorMessage__h4SJG{color:var(--color-error);font-size:14px;margin-top:4px;font-weight:500}.Comments_contentInput__NtNSN{width:100%;padding:12px;border:1px solid var(--color-base-8);font-size:16px;resize:vertical;background-color:var(--color-bg);color:var(--color-text-primary);transition:border-color .3s;outline:none}.Comments_contentInput__NtNSN:focus{border-color:var(--color-text-primary)}.Comments_contentInput__NtNSN::placeholder{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.Comments_contentInput__NtNSN::-webkit-input-placeholder{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.Comments_contentInput__NtNSN::-moz-placeholder{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.Comments_contentInput__NtNSN:-ms-input-placeholder{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.Comments_contentInput__NtNSN:invalid,.Comments_inputError__xxNpJ{border-color:var(--color-error)}.Comments_buttonContainer__Lfvlg{display:flex;justify-content:flex-end}.Comments_submitButton__wu_BX{background-color:var(--color-text-primary);color:var(--color-bg);text-decoration:none;border:none;padding:12px 16px;display:inline-flex;text-align:center;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:background-color .2s ease-out,transform .2s ease-out;-webkit-tap-highlight-color:transparent}@media (hover:hover) and (pointer:fine){.Comments_submitButton__wu_BX:hover{background-color:var(--color-base-2);color:var(--color-bg)}}.Comments_submitButton__wu_BX:active{background-color:var(--color-base-3);color:var(--color-bg);transform:scale(.95)}.Comments_submitButton__wu_BX:disabled{background-color:var(--color-base-6);cursor:not-allowed}.Comments_submitButton__wu_BX:disabled:active{transform:none}.Comments_commentsList__0LMOR{margin-top:32px}.Comments_commentItem__GdHEk{padding:24px;background-color:var(--color-surface);margin-bottom:24px}.Comments_commentHeader__3zaia{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.Comments_commentAuthor__ksN0B{font-size:16px;font-weight:600;color:var(--color-text-primary)}.Comments_commentDate__iGrE8{font-size:16px;color:var(--color-text-tertiary)}.Comments_commentContent__DkxwA{margin:0;font-size:16px;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap}.Comments_hintMessage__G1y6l{text-align:center;color:var(--color-text-tertiary);background-color:var(--color-surface);padding:48px 0}.Comments_errorMessage__h4SJG{color:var(--color-error)}@media (max-width:768px){.Comments_commentHeader__3zaia{flex-direction:column;align-items:flex-start}.Comments_commentDate__iGrE8{margin-top:4px}}.TableOfContents_tableOfContents__ejRBi{font-size:14px;line-height:1.5;position:fixed;top:100px;right:calc((100% - 800px) / 2 - 250px);width:220px;max-height:calc(100dvh - 200px);overflow-y:auto;padding-right:20px}.TableOfContents_tocTitle__7rJXK{font-size:18px;margin-bottom:16px;font-weight:600}.TableOfContents_tocList___tPh5{list-style:none;padding:0;margin:0}.TableOfContents_tocItem__M5yuA{margin-bottom:4px}.TableOfContents_tocItem__M5yuA a{color:var(--color-text-tertiary);text-decoration:none;word-break:auto-phrase;display:block;padding:4px 0;transition:color .2s ease-out,transform .2s ease-out;-webkit-tap-highlight-color:transparent}@media (hover:hover) and (pointer:fine){.TableOfContents_tocItem__M5yuA a:hover{text-decoration:underline}}.TableOfContents_tocItem__M5yuA a:active{transform:scale(.97)}.TableOfContents_level2__1L_vy{padding-left:8px}.TableOfContents_level3__5IAsq{padding-left:16px}.TableOfContents_level4____dg_{padding-left:24px}.TableOfContents_level5__OF3HI{padding-left:32px}.TableOfContents_level6__9n6gV{padding-left:48px}.TableOfContents_active__lgf0D a{color:var(--color-text-primary);font-weight:700}.BlogPostPage_container__WnEqc{max-width:800px;margin:0 auto;padding:0 32px}.BlogPostPage_thumbnailWrapper__HssQy{position:relative;width:100%;max-width:800px;margin:0 auto 48px;padding:0 32px}.BlogPostPage_thumbnailInner__h5u8K{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.BlogPostPage_thumbnail__nWK2c{width:100%;height:100%;object-fit:cover}.BlogPostPage_postHeader__FBOT2{margin:0 auto 32px;word-break:keep-all}.BlogPostPage_titleText__YDyfp{font-size:40px;font-weight:700;line-height:1.3;margin:0 0 16px;color:var(--color-text-primary)}.BlogPostPage_postDate__Xr_yY{margin:0;font-size:15px;color:var(--color-text-tertiary)}.BlogPostPage_contentWrapper__cUWLc{max-width:800px;margin:0 auto;padding:0 32px}.BlogPostPage_blogPostWrapper__ZLtVv{position:relative;display:flex;flex-direction:column;margin:0 auto}.BlogPostPage_postContent__NWTDm{font-size:17px;line-height:1.8;color:var(--color-text-primary);margin-bottom:24px;width:100%}.BlogPostPage_desktopToc__h4vVU{display:block}.BlogPostPage_postContent__NWTDm h1{margin:64px 0 16px;font-size:32px}.BlogPostPage_postContent__NWTDm h1,.BlogPostPage_postContent__NWTDm h2{font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.BlogPostPage_postContent__NWTDm h2{margin:48px 0 18px;font-size:26px;line-height:1.4}.BlogPostPage_postContent__NWTDm h3{margin:40px 0 16px;font-size:21px;font-weight:600;line-height:1.4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.BlogPostPage_postContent__NWTDm h1,.BlogPostPage_postContent__NWTDm h2,.BlogPostPage_postContent__NWTDm h3{word-break:keep-all}.BlogPostPage_postContent__NWTDm ol,.BlogPostPage_postContent__NWTDm p,.BlogPostPage_postContent__NWTDm ul{font-size:16px;line-height:1.6;color:var(--color-text-primary)}.BlogPostPage_postContent__NWTDm img{max-width:100%;margin:32px 0}.BlogPostPage_postContent__NWTDm pre{padding:20px;overflow-x:auto;margin:32px 0;line-height:1.6}.BlogPostPage_postContent__NWTDm code,.BlogPostPage_postContent__NWTDm pre{background-color:var(--color-surface);font-size:14px;font-family:Consolas,Monaco,Courier New,monospace}.BlogPostPage_postContent__NWTDm code{padding:3px 6px}.BlogPostPage_postContent__NWTDm pre code{background-color:transparent;padding:0}.BlogPostPage_postContent__NWTDm blockquote{background:var(--color-base-10);border-left:4px solid var(--color-text-primary);padding:24px 32px;margin:32px 0;font-size:16px;font-weight:500;color:var(--color-text-primary)}.BlogPostPage_postContent__NWTDm blockquote p{margin:0}.BlogPostPage_postContent__NWTDm blockquote ol,.BlogPostPage_postContent__NWTDm blockquote ul{margin:12px 0;padding-left:1.5em}.BlogPostPage_postContent__NWTDm table{border-collapse:collapse;width:100%;margin:32px 0;font-size:15px;overflow:hidden}.BlogPostPage_postContent__NWTDm td,.BlogPostPage_postContent__NWTDm th{text-align:start;border:1px solid var(--color-base-9);background-color:var(--color-surface);padding:12px 16px}.BlogPostPage_postContent__NWTDm ol{padding-left:1.5em;counter-reset:item;list-style-type:decimal}.BlogPostPage_postContent__NWTDm ul{padding-left:1.5em;list-style-type:disc}.BlogPostPage_postContent__NWTDm li>ol,.BlogPostPage_postContent__NWTDm li>ul{margin:0}.BlogPostPage_postContent__NWTDm a{color:var(--color-text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--color-text-tertiary);text-decoration-color:var(--color-text-tertiary)}@media (min-width:1280px){.BlogPostPage_blogPostWrapper__ZLtVv{flex-direction:row;justify-content:center}}@media (max-width:1279px){.BlogPostPage_desktopToc__h4vVU{display:none}.BlogPostPage_postContent__NWTDm{font-size:16px;line-height:1.8}.BlogPostPage_postContent__NWTDm h1{margin:48px 0 18px;font-size:28px}.BlogPostPage_postContent__NWTDm h2{margin:40px 0 16px;font-size:24px}.BlogPostPage_postContent__NWTDm h3{margin:36px 0 14px;font-size:20px}}@media (max-width:768px){.BlogPostPage_container__WnEqc,.BlogPostPage_contentWrapper__cUWLc{padding:0 20px}.BlogPostPage_thumbnailWrapper__HssQy{margin:0 0 32px;padding:0;max-width:100%}.BlogPostPage_titleText__YDyfp{font-size:32px;line-height:1.3}.BlogPostPage_postDate__Xr_yY{font-size:14px}.BlogPostPage_postContent__NWTDm{font-size:16px;line-height:1.75}.BlogPostPage_postContent__NWTDm h1{margin:40px 0 16px;font-size:26px}.BlogPostPage_postContent__NWTDm h2{margin:36px 0 14px;font-size:22px}.BlogPostPage_postContent__NWTDm h3{margin:32px 0 12px;font-size:19px}.BlogPostPage_postContent__NWTDm ol,.BlogPostPage_postContent__NWTDm p,.BlogPostPage_postContent__NWTDm ul{margin:20px 0}.BlogPostPage_postContent__NWTDm pre{padding:16px;margin:24px -20px;font-size:13px}.BlogPostPage_postContent__NWTDm code{font-size:13px;padding:2px 5px}.BlogPostPage_postContent__NWTDm blockquote{margin:24px 0;padding:16px 20px;font-size:16px}.BlogPostPage_postContent__NWTDm table{margin:24px 0;font-size:14px}.BlogPostPage_postContent__NWTDm td,.BlogPostPage_postContent__NWTDm th{padding:10px 12px}.BlogPostPage_postContent__NWTDm img{margin:24px 0}}@media (max-width:480px){.BlogPostPage_container__WnEqc,.BlogPostPage_contentWrapper__cUWLc{padding:0 16px}.BlogPostPage_thumbnailWrapper__HssQy{margin:0 0 24px}.BlogPostPage_postHeader__FBOT2{margin-bottom:24px}.BlogPostPage_titleText__YDyfp{font-size:28px}.BlogPostPage_postDate__Xr_yY{font-size:13px}.BlogPostPage_postContent__NWTDm{font-size:15px}.BlogPostPage_postContent__NWTDm h1{margin:32px 0 14px;font-size:24px}.BlogPostPage_postContent__NWTDm h2{margin:28px 0 12px;font-size:20px}.BlogPostPage_postContent__NWTDm h3{margin:24px 0 10px;font-size:18px}.BlogPostPage_postContent__NWTDm ol,.BlogPostPage_postContent__NWTDm p,.BlogPostPage_postContent__NWTDm ul{margin:16px 0}.BlogPostPage_postContent__NWTDm pre{padding:14px;margin:20px -16px;font-size:12px}.BlogPostPage_postContent__NWTDm code{font-size:12px}.BlogPostPage_postContent__NWTDm blockquote{margin:20px 0;padding:14px 16px;font-size:15px}.BlogPostPage_postContent__NWTDm table{margin:20px 0;font-size:13px}.BlogPostPage_postContent__NWTDm td,.BlogPostPage_postContent__NWTDm th{padding:8px 10px}.BlogPostPage_postContent__NWTDm img{margin:20px 0}}@media (max-width:360px){.BlogPostPage_container__WnEqc,.BlogPostPage_contentWrapper__cUWLc{padding:0 12px}.BlogPostPage_thumbnailWrapper__HssQy{margin:0 0 20px}.BlogPostPage_postHeader__FBOT2{margin-bottom:20px}.BlogPostPage_titleText__YDyfp{font-size:24px}.BlogPostPage_postContent__NWTDm{font-size:14px}.BlogPostPage_postContent__NWTDm h1{font-size:22px;margin:28px 0 12px}.BlogPostPage_postContent__NWTDm h2{font-size:19px;margin:24px 0 10px}.BlogPostPage_postContent__NWTDm h3{font-size:17px;margin:20px 0 10px}.BlogPostPage_postContent__NWTDm pre{padding:12px;margin:16px -12px;font-size:11px}.BlogPostPage_postContent__NWTDm blockquote{padding:12px 14px;margin:16px 0}.BlogPostPage_postContent__NWTDm table{font-size:12px}.BlogPostPage_postContent__NWTDm td,.BlogPostPage_postContent__NWTDm th{padding:6px 8px}}.PostNavigation_postNavigation__IHkLk{margin:32px 0}.PostNavigation_navContainer__28WrK{display:flex;flex-direction:column;gap:16px}.PostNavigation_navLink__4ERLB{display:flex;background-color:var(--color-surface);overflow:hidden;text-decoration:none;color:var(--color-text-primary);transition:transform .2s ease,box-shadow .2s ease}@media (hover:hover) and (pointer:fine){.PostNavigation_navLink__4ERLB:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}}.PostNavigation_navLink__4ERLB:active{transform:scale(.98)}.PostNavigation_prevPost__XJUtL{flex-direction:row}.PostNavigation_nextPost__1kXOr{flex-direction:row-reverse}.PostNavigation_navContent__hGUvY{flex:1 1;padding:16px;display:flex;flex-direction:column;justify-content:center}.PostNavigation_navLabel__1DsKi{font-size:14px;opacity:.7;margin-bottom:8px}.PostNavigation_navTitle__ufA7f{font-size:18px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}.PostNavigation_navThumbnail__hKvoO{width:120px;aspect-ratio:16/9;background-size:cover;background-position:50%;background-repeat:no-repeat}@media (min-width:768px){.PostNavigation_navContainer__28WrK{flex-direction:row}.PostNavigation_navLink__4ERLB{flex:1 1}}