.cZkUOq_links{flex-wrap:wrap;align-items:center;gap:16px;margin:0;display:flex}.cZkUOq_link{color:var(--color-text-sub);text-decoration:none;transition:color .15s;display:inline-flex}.cZkUOq_link:hover{color:var(--color-text)}.cZkUOq_link svg{width:18px;height:18px;display:block}@media (prefers-reduced-motion:reduce){.cZkUOq_link{transition:none}}
.URsdqq_container{gap:64px;max-width:972px;margin:0 auto;padding:96px 24px 64px;display:flex}.URsdqq_sidebar{flex:0 0 180px;align-self:flex-start;max-height:calc(100vh - 96px);font-size:15px;line-height:1.8;position:sticky;top:48px;overflow-y:auto}.URsdqq_nav{font-family:var(--font-heading);flex-direction:column;gap:2px;display:flex}.URsdqq_nav a{text-decoration:none}.URsdqq_siteName{letter-spacing:.02em;color:var(--color-text);flex-direction:column;margin-bottom:6px;font-size:22px;font-weight:600;line-height:1.5;display:flex}.URsdqq_siteNameEn{font-family:var(--font-body);letter-spacing:.04em;color:var(--color-text-sub);font-size:12px;font-weight:400;line-height:1.6}.URsdqq_navLink{color:var(--color-text-sub)}.URsdqq_navLink:hover{color:var(--color-text)}.URsdqq_navCurrent{color:var(--color-accent)}.URsdqq_aside{margin-top:48px}.URsdqq_content{flex:auto;min-width:0;max-width:680px}.URsdqq_footer{border-top:1px solid var(--color-border);color:var(--color-text-sub);flex-wrap:wrap;gap:4px 16px;margin-top:96px;padding-top:20px;font-size:14px;display:flex}@media (max-width:800px){.URsdqq_container{flex-direction:column;gap:40px;padding:40px 20px 48px}.URsdqq_sidebar{flex:none;max-height:none;position:static;overflow:visible}.URsdqq_nav{flex-flow:wrap;align-items:baseline;gap:4px 20px}.URsdqq_siteName{margin-bottom:0}.URsdqq_aside{display:none}}.URsdqq_skipLink{z-index:10;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);padding:6px 12px;font-size:14px;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.URsdqq_skipLink:focus{transform:none}.URsdqq_main:focus{outline:none}
.NvrSOW_list{flex-direction:column;gap:28px;margin:0;padding:0;list-style:none;display:flex}.NvrSOW_item{flex-direction:column;gap:2px;display:flex}.NvrSOW_title{font-family:var(--font-heading);word-break:keep-all;overflow-wrap:break-word;font-size:18px;font-weight:600;line-height:1.6}.NvrSOW_meta,.NvrSOW_empty{color:var(--color-text-sub);word-break:keep-all;margin:0;font-size:15px;line-height:1.7}.NvrSOW_item{animation:.6s ease-out both NvrSOW_blurFade;animation-delay:calc(var(--i,0) * 60ms)}@keyframes NvrSOW_blurFade{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}@media (prefers-reduced-motion:reduce){.NvrSOW_item{animation:none}}
.y0uzWG_nav{font-family:var(--font-heading);font-size:14px;line-height:1.6}.y0uzWG_heading{color:var(--color-accent);margin:0 0 10px;font-size:13px;font-weight:600}.y0uzWG_ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.y0uzWG_li a{color:var(--color-text-sub);text-decoration:none}.y0uzWG_li a:hover{color:var(--color-text)}
.VAdP9q_filter{flex-wrap:wrap;gap:0 18px;font-size:15px;display:flex}.VAdP9q_topic,.VAdP9q_selected{font:inherit;color:var(--color-text-sub);cursor:pointer;background:0 0;border:0;padding:6px 0}.VAdP9q_topic:hover{color:var(--color-text)}.VAdP9q_selected{color:var(--color-accent);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.VAdP9q_count{font-size:13px}
.g21JLG_intro{word-break:keep-all;margin-bottom:72px}.g21JLG_intro p{margin:0 0 12px}.g21JLG_lead{font-family:var(--font-heading);font-size:20px;font-weight:600;line-height:1.7}.g21JLG_intro .g21JLG_contact{margin-top:24px}.g21JLG_heading{color:var(--color-accent);margin:0 0 8px;font-size:15px;font-weight:600}.g21JLG_posts{margin-top:32px}.g21JLG_more{margin:40px 0 0;font-size:15px}.g21JLG_highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(#0000 62%,#3d4f7c29 62%);background-repeat:no-repeat;background-size:0% 100%;animation:.9s ease-out .3s forwards g21JLG_highlight}@keyframes g21JLG_highlight{to{background-size:100% 100%}}@media (prefers-reduced-motion:reduce){.g21JLG_highlight{background-size:100% 100%;animation:none}}
.zUaweq_article{word-break:keep-all;overflow-wrap:break-word}.zUaweq_header{margin-bottom:48px}.zUaweq_title{margin:0 0 12px;font-size:30px;font-weight:600;line-height:1.45}.zUaweq_meta{color:var(--color-text-sub);margin:0;font-size:15px}.zUaweq_topic{color:inherit;margin-left:12px;text-decoration:none}.zUaweq_topic:hover{color:var(--color-text)}.zUaweq_article h2{color:var(--color-accent);margin:56px 0 16px;font-size:22px;font-weight:600;line-height:1.5}.zUaweq_article h3{margin:40px 0 12px;font-size:19px;font-weight:600;line-height:1.5}.zUaweq_back{margin:72px 0 0;font-size:15px}.zUaweq_mobileToc{display:none}@media (max-width:800px){.zUaweq_title{font-size:26px}.zUaweq_mobileToc{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:-16px 0 32px;padding:1rem 0;display:block}}
.ZzSRbq_title{margin:0;font-size:28px;font-weight:600;line-height:1.5}.ZzSRbq_description{color:var(--color-text-sub);word-break:keep-all;margin:8px 0 32px}.ZzSRbq_posts{margin-top:32px}
.nwfdoa_heading2Xl{letter-spacing:-.05rem;margin:1rem 0;font-size:2.5rem;font-weight:800;line-height:1.2}.nwfdoa_headingXl{letter-spacing:-.05rem;margin:1rem 0;font-size:2rem;font-weight:800;line-height:1.3}.nwfdoa_headingLg{margin:1rem 0;font-size:1.5rem;line-height:1.4}.nwfdoa_headingMd{font-size:1.2rem;line-height:1.5}.nwfdoa_headingIntro{font-size:1rem;line-height:1.4}.nwfdoa_borderCircle{object-fit:cover;border-radius:12px}.nwfdoa_colorInherit{color:inherit}.nwfdoa_padding1px{padding-top:1px}.nwfdoa_list{margin:0;padding:0;list-style:none}.nwfdoa_listItem{margin:0 0 1.25rem}.nwfdoa_lightText{color:#666}.nwfdoa_linkReset{color:#277fe4}
.AqcXOG_container{flex-direction:column;width:100%;min-height:100vh;display:flex}@media (min-width:1024px){.AqcXOG_container{flex-direction:row;height:100vh;overflow:hidden}}.AqcXOG_leftPanel{flex:1;justify-content:center;padding:2rem;transition:width .3s;display:flex;overflow-y:auto}.AqcXOG_leftPanel small{color:#444;font-size:.85rem;display:inline-block}.AqcXOG_leftPanelContent{width:100%;max-width:800px}.AqcXOG_splitViewActive .AqcXOG_leftPanel{border-right:1px solid #333;width:50%}.AqcXOG_rightPanel{background-color:#fff;border-left:1px solid #e1e4e8;flex:1;display:none}.AqcXOG_splitViewActive .AqcXOG_rightPanel{flex-direction:column;animation:.3s ease-out AqcXOG_slideIn;display:flex}.AqcXOG_iframeFrame{border:none;width:100%;height:100%}@keyframes AqcXOG_slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.AqcXOG_closeButtonHeader{background:#f6f8fa;border-bottom:1px solid #e1e4e8;justify-content:flex-start;padding:10px;display:flex}.AqcXOG_closeButton{color:#24292e;cursor:pointer;background:#f2d3d3;border:1px solid #d1d5da;border-radius:6px;padding:5px 10px;font-size:.8rem}.AqcXOG_closeButton:hover{background:#f1b5b5}.AqcXOG_techTag{color:#c9d1d9;background-color:#21262d;border:1px solid #30363d;border-radius:12px;margin-bottom:.5rem;margin-right:.5rem;padding:.2rem .6rem;font-size:.85rem;display:inline-block}.AqcXOG_summaryBox{color:#24292e;background-color:#f6f8fa;border-left:4px solid #0366d6;border-radius:0 4px 4px 0;margin:1rem 0;padding:.6rem;font-size:.85rem;line-height:1.7;box-shadow:0 1px 2px #0000000d}.AqcXOG_companyContainer{align-items:center;gap:20px;margin-bottom:0;display:flex}.AqcXOG_logoBox{border:1px solid #eee;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;display:flex;overflow:hidden}.AqcXOG_logoImage{object-fit:contain;width:100%;height:100%}.AqcXOG_textContainer{flex-direction:column;justify-content:center;display:flex}.AqcXOG_textContainer>p{margin:0}.AqcXOG_textContainer>h2{margin:0 0 5px}.AqcXOG_projectLayout{gap:2rem;margin-bottom:1rem;display:flex}.AqcXOG_projectMeta{flex:0 0 160px;min-width:160px;padding-top:.5rem}.AqcXOG_projectMetaItem{margin-bottom:.75rem}.AqcXOG_projectMetaLabel{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem;font-size:.7rem}.AqcXOG_projectMetaValue{color:#333;font-size:.85rem;font-weight:500}.AqcXOG_projectMetaValue a{font-size:.85rem;font-weight:500}.AqcXOG_projectContent{flex:1;min-width:0}.AqcXOG_projectHeader{margin-bottom:.5rem}.AqcXOG_projectHeader h4{color:#0c0567;margin:0 0 .25rem;font-size:1.1rem;line-height:1.3}.AqcXOG_projectHeader span{color:#666;margin:.5rem 0;font-size:.9rem;font-weight:500;line-height:1}@media (max-width:600px){.AqcXOG_projectLayout{flex-direction:column;gap:1rem}.AqcXOG_projectMeta{border-bottom:1px solid #eee;flex:none;min-width:100%;padding-bottom:.5rem}}.AqcXOG_techStack{flex-wrap:wrap;gap:1px;margin-top:.5rem;margin-bottom:.5rem;display:flex}.AqcXOG_techTag{color:#24292e;background-color:#f0f3f6;border:1px solid #d1d5da;border-radius:6px;padding:.1rem .3rem;font-size:.75rem;font-weight:600;display:inline-block}.AqcXOG_list{margin:1rem 0 0;padding:0;list-style:outside}.AqcXOG_listItem{color:#444;white-space:pre-wrap;margin:.5rem 0 .5rem 1.25rem;font-size:.85rem;line-height:1.7}.AqcXOG_subList{margin-top:5px;padding-left:20px}.AqcXOG_itemTitle{font-size:.9rem;font-weight:700}
._6mzWlq_container{cursor:pointer;display:inline-block;position:relative}._6mzWlq_text{border-bottom:1px dashed #666;transition:color .2s,border-color .2s}._6mzWlq_container:hover ._6mzWlq_text,._6mzWlq_container:focus-visible ._6mzWlq_text{color:#0070f3;border-bottom-color:#0070f3}._6mzWlq_imageWrapper{z-index:1000;pointer-events:none;animation:.2s ease-out _6mzWlq_fadeIn;position:fixed}._6mzWlq_image{object-fit:cover;background-color:#fff;border-radius:8px;max-width:700px;max-height:700px;box-shadow:0 8px 32px #00000040}@keyframes _6mzWlq_fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
