.Header_header__Lhnr8{background:linear-gradient(135deg,#f8fbff,#eef9ff 50%,#f3fff7);border-bottom:1px solid #94a3b838;color:#0f172a;overflow:hidden;position:relative}.Header_compactHeader__tU8qx{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fbfff5}.Header_compactHeader__tU8qx .Header_topBar__dqsZJ{border-bottom:0}.Header_container__zmwVK{margin:0 auto;position:relative;width:min(1180px,calc(100% - 40px));z-index:2}.Header_glowOne__in3y2,.Header_glowTwo__IbCus{border-radius:999px;filter:blur(1px);pointer-events:none;position:absolute}.Header_glowOne__in3y2{background:#0ea5e91f;height:460px;right:-130px;top:-210px;width:460px}.Header_glowTwo__IbCus{background:#22c55e1a;bottom:-240px;height:360px;left:-180px;width:360px}.Header_topBar__dqsZJ{align-items:center;border-bottom:1px solid #94a3b82e;display:flex;justify-content:space-between;min-height:76px}.Header_brand__lViDj{align-items:center;color:#0f172a;display:inline-flex;font-size:1.05rem;font-weight:800;gap:11px;letter-spacing:-.02em;text-decoration:none}.Header_brandMark__49cVI{background:linear-gradient(135deg,#0284c7,#16a34a);border-radius:12px;box-shadow:0 8px 22px #0284c733;color:#fff;display:grid;font-size:.78rem;font-weight:900;height:38px;place-items:center;width:38px}.Header_menuToggle__AyaDj,.Header_mobileMenu__KDhxC{display:none}.Header_nav__ZwnMZ{align-items:center;display:flex;gap:10px}.Header_authBtn__r9hZZ,.Header_link__jrd00{border:0;border-radius:12px;cursor:pointer;font-size:.92rem;font-weight:700;padding:10px 15px;text-decoration:none;transition:.18s ease}.Header_link__jrd00{background:#0000;color:#475569}.Header_link__jrd00:hover{background:#ffffffbf;color:#0284c7}.Header_authBtn__r9hZZ{background:#0f172a;box-shadow:0 8px 20px #0f172a1f;color:#fff}.Header_authBtn__r9hZZ:hover{background:#1e293b;transform:translateY(-1px)}.Header_hero__GBdKj{grid-gap:70px;align-items:center;display:grid;gap:70px;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);min-height:500px;padding:64px 0 72px}.Header_heroCopy__NV-yy{max-width:660px}.Header_eyebrow__aJ6oG{background:#ffffffc7;border:1px solid #0284c729;border-radius:999px;color:#0369a1;display:inline-flex;font-size:.75rem;font-weight:850;letter-spacing:.14em;margin-bottom:20px;padding:8px 12px}.Header_heroCopy__NV-yy h1{color:#0f172a;font-size:clamp(2.75rem,6vw,5.35rem);letter-spacing:-.065em;line-height:.98;margin:0}.Header_heroCopy__NV-yy p{color:#526078;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.75;margin:26px 0 0;max-width:590px}.Header_actions__AB5lA{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.Header_primaryCta__13\+c7{align-items:center;background:linear-gradient(135deg,#0284c7,#0f766e);border:0;border-radius:14px;box-shadow:0 14px 30px #0284c733;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:14px;padding:14px 19px;text-decoration:none;transition:.18s ease}.Header_primaryCta__13\+c7:hover{box-shadow:0 18px 34px #0284c740;transform:translateY(-2px)}.Header_techBadge__mlUjD{background:#ffffffa6;border:1px solid #94a3b838;border-radius:14px;color:#475569;font-size:.88rem;font-weight:700;padding:12px 15px}.Header_visual__tgeMB{padding:26px;position:relative}.Header_logoCard__KTbMa{background:#fff;border:1px solid #94a3b833;border-radius:26px;box-shadow:0 30px 70px #0f172a1f;overflow:hidden;position:relative;transform:rotate(1.5deg)}.Header_logoCardTop__iLxoP{border-bottom:1px solid #eef2f7;display:flex;gap:7px;padding:14px 16px}.Header_logoCardTop__iLxoP span{background:#dbe4ef;border-radius:999px;height:8px;width:8px}.Header_logoCard__KTbMa img{aspect-ratio:16/9;display:block;object-fit:cover;width:100%}.Header_codeChip__lt06w,.Header_reactChip__7snmC{background:#fffffff0;border:1px solid #94a3b82e;border-radius:12px;box-shadow:0 12px 28px #0f172a1a;font-size:.82rem;font-weight:800;padding:10px 13px;position:absolute}.Header_codeChip__lt06w{bottom:0;color:#15803d;right:5px}.Header_reactChip__7snmC{color:#0369a1;left:4px;top:4px}@media (max-width:900px){.Header_container__zmwVK{width:min(100% - 28px,760px)}.Header_hero__GBdKj{gap:42px;grid-template-columns:1fr;min-height:auto;padding:52px 0 62px}.Header_visual__tgeMB{padding:18px;width:min(620px,100%)}}@media (max-width:1120px){.Header_header__Lhnr8{overflow:visible}.Header_container__zmwVK{z-index:10}.Header_topBar__dqsZJ{min-height:76px;position:relative}.Header_nav__ZwnMZ{display:none}.Header_menuToggle__AyaDj{-webkit-tap-highlight-color:transparent;background:#303238;border:1px solid #ffffff1f;border-radius:50%;color:#fff;cursor:pointer;display:grid;flex:0 0 52px;height:52px;place-items:center;width:52px}.Header_menuToggle__AyaDj:focus-visible,.Header_mobileAuthButton__V1hE6:focus-visible,.Header_mobileLink__fZ2ea:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}.Header_hamburger__gyFYw{grid-gap:5px;display:grid;gap:5px;width:23px}.Header_hamburger__gyFYw i{background:#fff;border-radius:2px;height:2.5px;width:23px}.Header_closeIcon__P5RSh{font-size:2.2rem;font-weight:300;line-height:1}.Header_mobileMenu__KDhxC{background:linear-gradient(145deg,#292b30,#202126);border:1px solid #41434a;border-radius:25px;box-shadow:0 24px 58px #0f172a40;color:#fff;display:block;left:0;max-height:min(74vh,700px);overflow-y:auto;padding:18px;position:absolute;right:0;top:calc(100% - 1px);z-index:30}.Header_mobileMenuLinks__XUCf4{grid-gap:6px;display:grid;gap:6px}.Header_mobileLink__fZ2ea{border-radius:15px;color:#f1f5f9;display:block;font-size:1.08rem;font-weight:650;padding:15px 17px;text-decoration:none;transition:background .15s ease;width:100%}.Header_mobileLink__fZ2ea:hover{background:#3a3d44}.Header_mobileActive__X9QL3,.Header_mobileActive__X9QL3:hover{background:#fff;color:#151820}.Header_mobileAuth__3Q2xo{border-top:1px solid #454750;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px}.Header_mobileAuthButton__V1hE6{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#131820;cursor:pointer;flex:1 1;font-size:1rem;font-weight:800;min-width:110px;padding:13px 16px;text-align:center;text-decoration:none}}@media (max-width:560px){.Header_topBar__dqsZJ{min-height:68px}.Header_brand__lViDj>span:last-child{display:inline;font-size:clamp(.88rem,4.3vw,1.05rem)}.Header_topBar__dqsZJ{min-height:72px}.Header_mobileMenu__KDhxC{border-radius:22px;padding:14px}.Header_heroCopy__NV-yy h1{font-size:clamp(2.55rem,15vw,4.2rem)}.Header_heroCopy__NV-yy p{margin-top:20px}.Header_actions__AB5lA{align-items:stretch}.Header_primaryCta__13\+c7,.Header_techBadge__mlUjD{justify-content:center;text-align:center;width:100%}}.Footer_footer__EwVYi{background:#0f172a;border-top:1px solid #e2e8f0;margin-top:70px}.Footer_inner__fhIqU{align-items:center;color:#cbd5e1;display:flex;justify-content:space-between;margin:0 auto;min-height:118px;width:min(1180px,calc(100% - 40px))}.Footer_inner__fhIqU>div{grid-gap:5px;display:grid;gap:5px}.Footer_inner__fhIqU strong{color:#fff;font-size:1rem}.Footer_inner__fhIqU p,.Footer_inner__fhIqU span{color:#94a3b8;font-size:.82rem;margin:0}@media (max-width:620px){.Footer_inner__fhIqU{align-items:flex-start;flex-direction:column;gap:14px;justify-content:center;width:calc(100% - 28px)}}.Sidebar_sidebar__TTYAt{grid-gap:18px;display:grid;gap:18px;position:-webkit-sticky;position:sticky;top:24px}.Sidebar_profileCard__fI2GE,.Sidebar_widget__Q17Wc{background:#ffffffeb;border:1px solid #e6edf5;border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.045);padding:23px}.Sidebar_label__2IKIS{color:#94a3b8;display:block;font-size:.68rem;font-weight:900;letter-spacing:.16em;margin-bottom:18px}.Sidebar_avatar__OQ6se{background:linear-gradient(135deg,#0284c7,#16a34a);border-radius:15px;box-shadow:0 10px 22px #0284c72e;color:#fff;display:grid;font-size:1.1rem;font-weight:900;height:48px;margin-bottom:15px;place-items:center;width:48px}.Sidebar_profileCard__fI2GE h3{color:#172033;font-size:1.14rem;margin:0 0 10px}.Sidebar_profileCard__fI2GE p{color:#68758a;font-size:.9rem;line-height:1.7;margin:0}.Sidebar_tags__bzozu{display:flex;flex-wrap:wrap;gap:8px}.Sidebar_tag__5ixho{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;display:inline-flex;font-size:.76rem;font-weight:750;padding:8px 10px;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.Sidebar_tag__5ixho:hover{background:#f0f9ff;border-color:#bae6fd;box-shadow:0 6px 16px #0284c714;color:#0369a1;transform:translateY(-1px)}.Sidebar_activeTag__4J\+Kt{background:#e0f2fe;border-color:#7dd3fc;box-shadow:0 6px 16px #0284c71a;color:#075985}@media (max-width:900px){.Sidebar_sidebar__TTYAt{grid-template-columns:1fr 1fr;position:static}}@media (max-width:620px){.Sidebar_sidebar__TTYAt{grid-template-columns:1fr}}.Home_section__diLZB{width:100%}.Home_headingRow__Y\+1oQ{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.Home_kicker__8iJ\+n{color:#0284c7;display:block;font-size:.72rem;font-weight:900;letter-spacing:.16em;margin-bottom:9px}.Home_headingRow__Y\+1oQ h2{color:#0f172a;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;margin:0}.Home_headingRow__Y\+1oQ p{color:#64748b;line-height:1.6;margin:10px 0 0}.Home_counter__rbVk7{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;flex:0 0 auto;font-size:.78rem;font-weight:800;padding:9px 12px}.Home_list__88Uf4{grid-gap:18px;display:grid;gap:18px}.Home_postCard__tb7hu{background:#fffffff0;border:1px solid #e7edf5;border-radius:22px;box-shadow:0 10px 32px #0f172a0d;overflow:hidden;padding:27px 29px;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.Home_postCard__tb7hu:before{background:linear-gradient(#0ea5e9,#22c55e);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .18s ease;width:4px}.Home_postCard__tb7hu:hover{border-color:#d7e5f2;box-shadow:0 18px 46px #0f172a17;transform:translateY(-3px)}.Home_postCard__tb7hu:hover:before{opacity:1}.Home_cardTop__SMG0F{align-items:center;display:flex;gap:16px;justify-content:space-between}.Home_number__E7dVx{color:#94a3b8;font-size:.77rem;font-weight:900;letter-spacing:.1em}.Home_meta__Ba6Rp{align-items:center;color:#7b879b;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:650;gap:7px}.Home_dot__Zh-yX{color:#cbd5e1}.Home_postCard__tb7hu h3{color:#111827;font-size:clamp(1.35rem,2.6vw,1.75rem);letter-spacing:-.035em;line-height:1.2;margin:19px 0 12px}.Home_excerpt__AeOCY{color:#5f6b7d;font-size:.97rem;line-height:1.72}.Home_excerpt__AeOCY p{margin:0}.Home_excerpt__AeOCY>:not(:first-child){display:none}.Home_readMore__6xaWS{align-items:center;color:#0369a1;display:inline-flex;font-size:.9rem;font-weight:850;gap:10px;margin-top:20px;text-decoration:none}.Home_readMore__6xaWS span{transition:transform .18s ease}.Home_readMore__6xaWS:hover span{transform:translateX(4px)}.Home_emptyCard__CTFkn,.Home_errorCard__wIsIP,.Home_statusCard__n4pRN{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 30px #0f172a0a;color:#64748b;display:flex;gap:12px;padding:22px}.Home_errorCard__wIsIP{background:snow;border-color:#fecaca;color:#991b1b}.Home_loader__fbQAJ{animation:Home_spin__Met83 .8s linear infinite;border:2px solid #dbeafe;border-radius:50%;border-top-color:#0284c7;height:18px;width:18px}@keyframes Home_spin__Met83{to{transform:rotate(1turn)}}@media (max-width:620px){.Home_headingRow__Y\+1oQ{align-items:flex-start;flex-direction:column}.Home_postCard__tb7hu{border-radius:18px;padding:23px 21px}.Home_cardTop__SMG0F{align-items:flex-start;flex-direction:column;gap:8px}}.Home_titleLink__aW3Qn{color:inherit;text-decoration:none}.Home_titleLink__aW3Qn:hover{text-decoration:underline;text-underline-offset:4px}.Home_clearFilter__KNM2t{color:#0369a1;font-weight:800;text-decoration:none}.Home_clearFilter__KNM2t:hover{text-decoration:underline;text-underline-offset:3px}.PostDetail_page__StXmO{grid-gap:44px;align-items:start;display:grid;gap:44px;grid-template-columns:260px minmax(0,1fr);width:100%}.PostDetail_loading__Di6x6{color:#64748b;min-height:40vh}.PostDetail_toc__m7\+Up{align-self:stretch;min-width:0;position:relative}.PostDetail_tocInner__S-YMd{max-height:calc(100vh - 48px);overflow-y:auto;padding:26px 18px 26px 2px;position:-webkit-sticky;position:sticky;top:24px}.PostDetail_seriesLink__KTLoc{color:#2563eb;display:inline-block;font-size:1rem;font-weight:800;line-height:1.35;text-decoration:none}.PostDetail_seriesLink__KTLoc:hover{text-decoration:underline}.PostDetail_tocDivider__aSghy{background:#e5e7eb;height:1px;margin:22px 0}.PostDetail_tocLabel__SgdbC{color:#94a3b8;display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;margin-bottom:13px}.PostDetail_tocNav__flPhn{border-left:2px solid #e5e7eb;display:flex;flex-direction:column}.PostDetail_tocLink__NTm0Z{border-left:2px solid #0000;color:#334155;display:block;font-size:.92rem;line-height:1.45;margin-left:-2px;padding:8px 0 8px 14px;text-decoration:none;transition:color .18s ease,border-color .18s ease,background .18s ease}.PostDetail_tocLink__NTm0Z:hover{background:linear-gradient(90deg,#2563eb0f,#0000);border-left-color:#2563eb;color:#2563eb}.PostDetail_tocSubLink__IWmaz{color:#64748b;font-size:.87rem;padding-left:28px}.PostDetail_container__wBPKo{background:#fff;border:1px solid #e8edf3;border-radius:18px;box-shadow:0 12px 38px rgba(15,23,42,.055);margin:0;max-width:1080px;min-width:0;padding:42px 52px 46px;width:100%}.PostDetail_back__\+sg5o{color:#64748b;display:inline-flex;font-size:.92rem;font-weight:700;margin-bottom:26px;text-decoration:none;transition:color .2s}.PostDetail_back__\+sg5o:hover{color:#2563eb}.PostDetail_article__k5MN2{max-width:900px}.PostDetail_article__k5MN2 h1{color:#0f172a;font-size:clamp(2.35rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1.08;margin:0 0 12px;max-width:860px}.PostDetail_lead__vAhE8{color:#64748b;font-size:clamp(1.08rem,1.7vw,1.32rem);line-height:1.55;margin:0 0 20px;max-width:880px}.PostDetail_author__9axRn{color:#64748b;font-size:.88rem;font-weight:700;letter-spacing:.04em;margin:0 0 44px;text-transform:uppercase}.PostDetail_articleMeta__pRMoN{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.88rem;gap:12px;margin-bottom:16px}.PostDetail_category__G7IEL,.PostDetail_relatedCategory__\+7WBU{background:#eef2ff;border-radius:999px;color:#3730a3;display:inline-flex;font-size:.71rem;font-weight:800;letter-spacing:.04em;padding:5px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.PostDetail_body__KNLkD{color:#243244;font-size:1.06rem;line-height:1.82}.PostDetail_body__KNLkD h1,.PostDetail_body__KNLkD h2,.PostDetail_body__KNLkD h3{color:#0f172a;font-weight:800;letter-spacing:-.025em}.PostDetail_body__KNLkD h2{font-size:1.85rem;margin:56px 0 18px}.PostDetail_body__KNLkD h3{font-size:1.35rem;margin:38px 0 14px}.PostDetail_anchorHeading__-u2Fo{scroll-margin-top:30px}.PostDetail_body__KNLkD p{margin:0 0 20px}.PostDetail_body__KNLkD ol,.PostDetail_body__KNLkD ul{margin:0 0 24px;padding-left:26px}.PostDetail_body__KNLkD li{margin:7px 0}.PostDetail_body__KNLkD blockquote{border-left:4px solid #38bdf8;color:#475569;margin:28px 0;padding:5px 0 5px 22px}.PostDetail_body__KNLkD img{border-radius:14px;display:block;height:auto;margin:34px auto;max-width:100%}.PostDetail_body__KNLkD a{color:#2563eb;text-underline-offset:3px}.PostDetail_inlineCode__Po6t8{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;color:#be123c;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em;padding:2px 6px}.PostDetail_codeBlock__owQww{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:28px 0 32px;overflow:hidden;position:relative}.PostDetail_copyBtn__KnNdB{background:#fffffff0;border:1px solid #dbe3ed;border-radius:7px;color:#334155;cursor:pointer;font-size:.76rem;font-weight:800;padding:6px 10px;position:absolute;right:10px;top:10px;transition:background .2s,border-color .2s;z-index:10}.PostDetail_copyBtn__KnNdB:hover{background:#eff6ff;border-color:#93c5fd}.PostDetail_codeBlock__owQww pre{background:#f8fafc!important;font-size:.92rem!important;margin:0!important;overflow-x:auto;padding:22px!important}.PostDetail_tableWrapper__QDF6d{-webkit-overflow-scrolling:touch;background:#fff;border:3px solid #0f172a;border-radius:12px;box-shadow:0 10px 26px #0f172a29;margin:30px 0 34px;overflow-x:auto;width:100%}.PostDetail_articleTable__E\+vJb{background:#fff;border-collapse:collapse;border-spacing:0;font-size:.98rem;line-height:1.55;min-width:620px;width:100%}.PostDetail_articleTable__E\+vJb thead{background:linear-gradient(135deg,#0f172a,#1e3a8a)}.PostDetail_articleTable__E\+vJb th{border-bottom:3px solid #0f172a;border-right:3px solid #64748b;color:#fff;font-weight:800;letter-spacing:.01em;padding:16px 18px;text-align:left;vertical-align:middle}.PostDetail_articleTable__E\+vJb th:last-child{border-right:0}.PostDetail_articleTable__E\+vJb td{border-bottom:2px solid #94a3b8;border-right:2px solid #64748b;color:#1f2937;padding:15px 18px;text-align:left;vertical-align:top}.PostDetail_articleTable__E\+vJb td:last-child{border-right:0}.PostDetail_articleTable__E\+vJb tbody tr:nth-child(2n) td:not(:first-child){background:#f1f5f9}.PostDetail_articleTable__E\+vJb tbody tr:nth-child(odd) td:not(:first-child){background:#fff}.PostDetail_articleTable__E\+vJb tbody td:first-child{background:#1e293b;border-bottom-color:#475569;border-right:3px solid #0f172a;color:#fff;font-weight:800;min-width:170px}.PostDetail_articleTable__E\+vJb tbody tr:hover td:not(:first-child){background:#dbeafe}.PostDetail_articleTable__E\+vJb tbody tr:hover td:first-child{background:#0f172a}.PostDetail_articleTable__E\+vJb tbody tr:last-child td{border-bottom:0}.PostDetail_articleTable__E\+vJb code{white-space:nowrap}.PostDetail_related__csb4y{border-top:1px solid #e5e7eb;margin-top:52px;padding-top:30px}.PostDetail_relatedHeader__iF3bT h2{color:#0f172a;font-size:1.65rem;margin:4px 0 18px}.PostDetail_relatedKicker__DYw-Z{color:#64748b;font-size:.74rem;font-weight:800;letter-spacing:.12em}.PostDetail_relatedGrid__Di-Iw{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.PostDetail_relatedCard__nEzS6{background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#0f172a;display:flex;flex-direction:column;gap:10px;min-height:150px;padding:18px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.PostDetail_relatedCard__nEzS6:hover{border-color:#cbd5e1;box-shadow:0 10px 24px #0f172a14;transform:translateY(-2px)}.PostDetail_relatedArrow__MdtcO{color:#2563eb;font-size:.9rem;font-weight:700;margin-top:auto}@media (max-width:980px){.PostDetail_page__StXmO{gap:24px;grid-template-columns:220px minmax(0,1fr)}.PostDetail_container__wBPKo{padding:34px 32px 40px}}@media (max-width:760px){.PostDetail_page__StXmO{display:block}.PostDetail_toc__m7\+Up{margin-bottom:18px}.PostDetail_tocInner__S-YMd{background:#fff;border:1px solid #e5e7eb;border-radius:14px;max-height:none;padding:18px 18px 16px;position:static}.PostDetail_tocDivider__aSghy{margin:14px 0}.PostDetail_tocNav__flPhn{max-height:260px;overflow-y:auto}.PostDetail_container__wBPKo{border-radius:14px;padding:26px 20px 32px}.PostDetail_article__k5MN2 h1{font-size:clamp(2rem,10vw,2.7rem)}.PostDetail_author__9axRn{margin-bottom:34px}.PostDetail_body__KNLkD h2{margin-top:44px}.PostDetail_relatedGrid__Di-Iw{grid-template-columns:1fr}.PostDetail_tableWrapper__QDF6d{border-radius:10px;margin:24px -2px 30px}.PostDetail_articleTable__E\+vJb{font-size:.9rem;min-width:560px}.PostDetail_articleTable__E\+vJb td,.PostDetail_articleTable__E\+vJb th{padding:12px 14px}}.PostDetail_likeRow__XQcbF{align-items:center;display:flex;gap:12px;margin:18px 0 26px}.PostDetail_likeButton__HQSXm{background:#fff;border:1px solid #d8dce3;border-radius:999px;cursor:pointer;font:inherit;font-weight:700;padding:9px 15px}.PostDetail_likeButton__HQSXm:hover{border-color:#111827}.PostDetail_likeButtonActive__VjvXx{background:#111827;border-color:#111827;color:#fff}.PostDetail_likeButton__HQSXm:disabled{cursor:wait;opacity:.6}.PostDetail_likeCount__d-JXJ{color:#6b7280;font-size:14px}.PostDetail_loginToLike__-fNWi{border-bottom:1px solid #111827;color:#111827;font-weight:700;text-decoration:none}.Login_loginContainer__vjFUt{display:flex;justify-content:center;padding:50px 0}.Login_loginForm__7Cm8d{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px;width:300px}.Login_loginForm__7Cm8d h2{margin-top:0}.Login_loginForm__7Cm8d div{margin-bottom:15px}.Login_loginForm__7Cm8d input{box-sizing:border-box;margin-top:5px;padding:8px;width:100%}.Login_loginForm__7Cm8d button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px;width:100%}.Login_loginForm__7Cm8d button:hover{background-color:#0056b3}.Login_error__pq6E7{background:#fff1f1;border-radius:6px;color:#9d1c1c;font-size:14px;margin:0 0 16px;padding:10px 12px}.Login_switchText__j7C00{font-size:14px;margin:16px 0 0;text-align:center}.Login_switchText__j7C00 a{color:#007bff;font-weight:600;text-decoration:none}.Stats_section__JZJmN{width:100%}.Stats_headerRow__KdZuv{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}.Stats_headerRow__KdZuv h1,.Stats_tableHeader__pcBRP h2{margin:6px 0 8px}.Stats_headerRow__KdZuv p{color:#667085;margin:0}.Stats_kicker__uFr8V{color:#667085;font-size:.74rem;font-weight:800;letter-spacing:.14em}.Stats_backLink__-uEnA,.Stats_postLink__T4iy5{color:inherit;font-weight:700;text-decoration:none}.Stats_backLink__-uEnA:hover,.Stats_postLink__T4iy5:hover{text-decoration:underline}.Stats_grid__a2JXM{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:26px}.Stats_card__7Ybvj,.Stats_tableCard__gw8TI{background:#fff;border:1px solid #e6e8ec;border-radius:16px;box-shadow:0 8px 30px #0f172a0d}.Stats_card__7Ybvj{padding:20px}.Stats_card__7Ybvj .Stats_label__2fu8y{color:#667085;display:block;font-size:.84rem;margin-bottom:9px}.Stats_card__7Ybvj strong{display:block;font-size:2rem;line-height:1;margin-bottom:12px}.Stats_card__7Ybvj p{color:#667085;font-size:.82rem;margin:0}.Stats_tableCard__gw8TI{padding:22px}.Stats_tableHeader__pcBRP{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.Stats_dateLabel__lPw9F{color:#667085;font-size:.82rem}.Stats_tableWrap__eITyw{overflow-x:auto}.Stats_table__QziKK{border-collapse:collapse;width:100%}.Stats_table__QziKK td,.Stats_table__QziKK th{border-top:1px solid #eef0f3;padding:13px 12px;text-align:left}.Stats_table__QziKK th{color:#667085;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.Stats_table__QziKK td:nth-child(2),.Stats_table__QziKK td:nth-child(3),.Stats_table__QziKK th:nth-child(2),.Stats_table__QziKK th:nth-child(3){text-align:right;white-space:nowrap}.Stats_error__80iKa,.Stats_message__O3GJy{background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:18px}.Stats_error__80iKa{border-color:#f1b4b4}.Stats_note__430MW{color:#667085;font-size:.82rem;line-height:1.5;margin-top:16px}@media (max-width:1100px){.Stats_grid__a2JXM{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.Stats_headerRow__KdZuv,.Stats_tableHeader__pcBRP{align-items:flex-start;flex-direction:column}.Stats_grid__a2JXM{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.Stats_grid__a2JXM{grid-template-columns:1fr}}@media (max-width:720px){.Stats_section__JZJmN{min-width:0}.Stats_headerRow__KdZuv h1{font-size:clamp(1.65rem,7vw,2.3rem);overflow-wrap:anywhere}.Stats_tableCard__gw8TI{min-width:0;padding:14px}.Stats_tableWrap__eITyw{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.Stats_table__QziKK{min-width:485px}.Stats_grid__a2JXM{gap:10px}.Stats_card__7Ybvj{min-width:0;padding:15px}.Stats_card__7Ybvj strong{font-size:1.65rem;overflow-wrap:anywhere}}@media (max-width:480px){.Stats_grid__a2JXM{grid-template-columns:repeat(2,minmax(0,1fr))}.Stats_card__7Ybvj:last-child{grid-column:1/-1}.Stats_card__7Ybvj p{font-size:.73rem}.Stats_dateLabel__lPw9F{overflow-wrap:anywhere}}.Projects_page__UiNHK{margin:0 auto;padding:20px 0 64px;width:min(1180px,100%)}.Projects_intro__0Q5a4{margin-bottom:34px;max-width:820px}.Projects_kicker__OS6au{color:#2563eb;display:inline-block;font-size:.76rem;font-weight:900;letter-spacing:.14em;margin-bottom:10px}.Projects_intro__0Q5a4 h1{color:#0f172a;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.055em;line-height:1.02;margin:0 0 14px}.Projects_intro__0Q5a4 p{color:#64748b;font-size:1.15rem;line-height:1.7;margin:0}.Projects_grid__G34AL{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.Projects_card__piAMc{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.055);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.Projects_card__piAMc:hover{border-color:#cbd5e1;box-shadow:0 18px 42px #0f172a17;transform:translateY(-3px)}.Projects_image__qgknF{background:#f8fafc;display:block;height:230px;object-fit:cover;width:100%}.Projects_cardBody__BdCqV{padding:26px}.Projects_cardBody__BdCqV h2{color:#0f172a;font-size:1.55rem;letter-spacing:-.025em;margin:8px 0 10px}.Projects_cardBody__BdCqV p{color:#64748b;line-height:1.7;margin:0 0 20px}.Projects_featured__wgzah{background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:.7rem;font-weight:900;letter-spacing:.06em;padding:5px 9px;text-transform:uppercase}.Projects_techList__qQXWl{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.Projects_techList__qQXWl span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#334155;font-size:.78rem;font-weight:800;padding:6px 10px}.Projects_actions__eGWZo{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.Projects_primaryLink__slTSo,.Projects_secondaryLink__cG0C-{font-weight:800;text-decoration:none}.Projects_primaryLink__slTSo{color:#2563eb}.Projects_secondaryLink__cG0C-{color:#475569;font-size:.92rem}.Projects_empty__MjTuT,.Projects_status__wsNJI{color:#64748b}.Projects_empty__MjTuT{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:36px}.Projects_empty__MjTuT h2{color:#0f172a;margin-top:0}@media (max-width:800px){.Projects_grid__G34AL{grid-template-columns:1fr}.Projects_image__qgknF{height:210px}}.ProjectDetail_heroImage__AF1\+D{border:1px solid #e5e7eb;border-radius:14px;display:block;margin-bottom:28px;max-height:470px;object-fit:cover;width:100%}.ProjectDetail_featured__PttBg{background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:.71rem;font-weight:800;letter-spacing:.04em;padding:5px 10px;text-transform:uppercase}.ProjectDetail_techList__k3hRs{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 28px}.ProjectDetail_techList__k3hRs span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#334155;font-size:.82rem;font-weight:800;padding:6px 11px}.ProjectDetail_actions__6W6ay{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 36px}.ProjectDetail_primaryAction__KKN0I,.ProjectDetail_secondaryAction__bN9VV{border-radius:9px;display:inline-flex;font-weight:800;padding:10px 14px;text-decoration:none}.ProjectDetail_primaryAction__KKN0I{background:#2563eb;color:#fff}.ProjectDetail_secondaryAction__bN9VV{background:#fff;border:1px solid #dbe3ed;color:#334155}.App_appContainer__Q73Qs{display:flex;flex-direction:column;min-height:100vh}.App_layoutWrapper__-5pwO{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) 290px;margin:52px auto 0;width:min(1180px,calc(100% - 40px))}.App_articleLayout__a0ddC{display:block;margin-top:34px;width:min(1460px,calc(100% - 40px))}.App_mainContent__mD5IX{min-width:0}@media (max-width:900px){.App_articleLayout__a0ddC,.App_layoutWrapper__-5pwO{grid-template-columns:1fr;margin-top:36px;width:min(100% - 28px,760px)}.App_layoutWrapper__-5pwO:not(.App_articleLayout__a0ddC){display:flex;flex-direction:column}.App_mainContent__mD5IX{min-width:0;width:100%}}:root{background:#f5f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left,#0ea5e914,#0000 32rem),#f5f7fb;margin:0;min-width:320px}button,input,select,textarea{font:inherit}a{color:inherit}::selection{background:#0ea5e933}
/*# sourceMappingURL=main.ba3ce279.css.map*/