body{padding-top:68px}@media (width<=520px){body{padding-top:60px}}.wrap{max-width:var(--w);padding:0 var(--gutter);z-index:1;margin:0 auto;position:relative}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bloghub{z-index:5;padding:56px 0 110px;position:relative}.bloghub>.wrap>*{max-width:1120px;margin-left:auto;margin-right:auto}.hub-head{text-align:center;margin-bottom:48px}.bloghub-title{font-family:var(--font-d);letter-spacing:-.03em;color:var(--text);margin:0 0 14px;font-size:clamp(30px,3.6vw,48px);font-weight:800;line-height:1.06}.bloghub-title em{color:var(--purple-2);text-shadow:0 0 16px #7b6eff59;font-style:normal}.hub-sub{font-family:var(--font-b);color:var(--text-2);max-width:56ch;margin:0 auto 26px;font-size:15px;line-height:1.6}.hub-tools{flex-direction:column;align-items:center;gap:14px;display:flex}.hub-search{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;align-items:center;gap:10px;width:min(520px,100%);height:44px;padding:0 14px;transition:border-color .15s;display:flex}.hub-search[hidden]{display:none}.hub-search:focus-within{border-color:var(--purple-b)}.hub-search svg{fill:none;width:17px;height:17px;stroke:var(--text-3);stroke-width:1.8px;stroke-linecap:round;flex:none}.hub-search input{min-width:0;height:100%;font:400 14px var(--font-b);color:var(--text);background:0 0;border:0;outline:0;flex:1}.hub-search input::placeholder{color:var(--text-3)}.hub-cats{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hub-cat{height:34px;font:600 12.5px var(--font-s);color:var(--text-2);border:1px solid var(--line-2);border-radius:9px;align-items:center;gap:7px;padding:0 13px;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.hub-cat span{font-variant-numeric:tabular-nums;color:var(--text-3);background:var(--bg-2);border-radius:5px;padding:1px 6px;font-size:11px}.hub-cat:hover{color:var(--text);border-color:var(--purple-b)}.hub-cat.is-active{color:var(--text);border-color:var(--purple-b);background:var(--purple-d)}.hub-cat.is-active span{color:var(--chip-fg);background:var(--chip-bg)}.hub-cat:focus-visible,.hub-feature:focus-visible,.hub-lab:focus-visible,.hub-type:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hub-feature{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);text-decoration:none;transition:border-color .18s,transform .15s;display:grid;position:relative;overflow:hidden}.hub-feature:before{content:"";z-index:1;background:linear-gradient(90deg, var(--purple), transparent);width:42%;height:1px;position:absolute;top:0;left:0}.hub-feature:hover{border-color:var(--purple-b);transform:translateY(-2px)}.hub-feature[hidden]{display:none}.hub-feature-media{border-right:1px solid var(--line);background:var(--bg-2);display:block}.hub-feature-media picture{display:contents}.hub-feature-media img{object-fit:cover;aspect-ratio:40/21;width:100%;height:100%;display:block}.hub-feature-body{flex-direction:column;gap:12px;padding:28px 30px 24px;display:flex}.hub-feature-top{align-items:center;gap:10px;display:flex}.hub-label{font:600 11px var(--font-s);letter-spacing:.06em;text-transform:uppercase;color:var(--label-fg)}.hub-feature-title{font-family:var(--font-d);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(21px,2.1vw,27px);font-weight:800;line-height:1.2}.hub-feature-desc{font-family:var(--font-b);color:var(--text-2);flex:1;font-size:14.5px;line-height:1.6}.hub-feature-meta{border-top:1px solid var(--line);font:500 12px var(--font-s);color:var(--text-2);align-items:center;gap:7px;padding-top:14px;display:flex}.hub-feature-go{color:var(--purple-2);margin-left:auto;font-weight:600}.hub-feature-go span{transition:transform .15s;display:inline-block}.hub-feature:hover .hub-feature-go span{transform:translate(3px)}.hub-lab{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--purple);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:16px;padding:14px 20px;text-decoration:none;transition:border-color .18s,background .18s;display:grid}.hub-lab:hover{background:var(--bg-2);border-color:var(--purple-b);border-left-color:var(--purple)}.hub-lab-k{font:700 13px var(--font-d);color:var(--text);white-space:nowrap}.hub-lab-t{font:400 13.5px/1.5 var(--font-b);color:var(--text-2)}.hub-lab-t b{color:var(--text);font-weight:600}.hub-lab-go{color:var(--purple-2)}.hub-section{margin-top:56px}.hub-section-h{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.hub-section-h h2{font:700 20px var(--font-d);letter-spacing:-.015em;color:var(--text);margin:0}.hub-count{font:500 12.5px var(--font-s);color:var(--text-3);font-variant-numeric:tabular-nums;margin:0}.bloghub-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.hub-empty{font:400 14px var(--font-b);color:var(--text-2);margin:8px 0 0}.hub-empty[hidden]{display:none}.hub-types{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.hub-type{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:8px;padding:18px 18px 14px;text-decoration:none;transition:border-color .18s,background .18s,transform .15s;display:flex;position:relative}.hub-type:hover{border-color:var(--purple-b);background:var(--bg-2);transform:translateY(-2px)}.hub-type-name{font:700 15.5px var(--font-d);letter-spacing:-.01em;color:var(--text)}.hub-type-line{font:400 13px/1.55 var(--font-b);color:var(--text-2);flex:1}.hub-type-meta{border-top:1px solid var(--line);font:500 12px var(--font-s);color:var(--text-3);padding-top:10px}.hub-type-meta span{color:var(--purple-2)}@media (width<=1000px){.hub-types{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.hub-feature{grid-template-columns:1fr}.hub-feature-media{border-right:0;border-bottom:1px solid var(--line)}.hub-feature-body{padding:20px 20px 18px}}@media (width<=600px){.bloghub{padding:40px 0 72px}.hub-head{margin-bottom:32px}.bloghub-grid{grid-template-columns:1fr;gap:12px}.hub-types{grid-template-columns:1fr}.hub-lab{grid-template-columns:minmax(0,1fr) auto}.hub-lab-k{grid-column:1/-1}.hub-section{margin-top:40px}}
