.hub-subscribe[data-v-2aa719a3]{background:radial-gradient(300px 200px at 100% 0,rgba(42,165,160,.35),transparent),#171919;border-radius:var(--hub-r-m);color:#fff;padding:20px}.hub-subscribe__title[data-v-2aa719a3]{display:block;font-size:16px;font-weight:800;margin-bottom:6px}.hub-subscribe__text[data-v-2aa719a3]{color:#ffffffb3;font-size:13px;margin-bottom:14px}.hub-subscribe__form[data-v-2aa719a3]{display:flex;flex-direction:column;gap:10px;position:relative}.hub-subscribe__form input[type=email][data-v-2aa719a3]{background:#ffffff14;border:1px solid hsla(0,0%,100%,.18);border-radius:10px;color:#fff;font-family:inherit;font-size:14px;height:42px;outline:none;padding:0 14px;transition:border-color .15s,background .15s;width:100%}.hub-subscribe__form input[type=email][data-v-2aa719a3]::-moz-placeholder{color:#ffffff73}.hub-subscribe__form input[type=email][data-v-2aa719a3]::placeholder{color:#ffffff73}.hub-subscribe__form input[type=email][data-v-2aa719a3]:focus{background:#ffffff1f;border-color:#2aa5a0cc}.hub-subscribe__form .hub-btn[data-v-2aa719a3]{width:100%}.hub-subscribe__form .hub-btn[data-v-2aa719a3]:disabled{cursor:wait;opacity:.7}.hub-subscribe__hp[data-v-2aa719a3]{height:1px;left:-9999px;opacity:0;position:absolute;width:1px}.hub-subscribe__success[data-v-2aa719a3]{color:#86efac;font-size:13px}.hub-subscribe__error[data-v-2aa719a3]{color:#fca5a5;font-size:12px;margin:0}.hub-subscribe__sr[data-v-2aa719a3]{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.hub-toast[data-v-b9433ebc]{background:var(--hub-text);border-radius:var(--hub-r-m);bottom:24px;box-shadow:var(--hub-shadow-l);color:var(--hub-surface);font-size:14px;left:50%;max-width:calc(100% - 32px);opacity:0;padding:12px 18px;pointer-events:none;position:fixed;transform:translate(-50%,20px);transition:opacity .25s,transform .25s;z-index:200}.hub-toast--visible[data-v-b9433ebc]{opacity:1;transform:translate(-50%)}.hub-page{--hub-surface:var(--tp-ui-background-color-secondary-new);--hub-surface-2:var(--tp-ui-background-color-tertiary);--hub-text:var(--tp-ui-color-text-primary);--hub-text-2:var(--tp-ui-color-text-secondary);--hub-muted:var(--tp-ui-color-text-tertiary);--hub-line:var(--tp-ui-border-color-primary);--hub-brand:var(--tp-ui-color-brand);--hub-brand-ink:var(--tp-ui-button-background-color-primary);--hub-brand-hover:var(--tp-ui-button-background-color-primary--hover);--hub-grad:linear-gradient(120deg,var(--tp-ui-button-background-color-primary),var(--tp-ui-color-brand));--hub-grad-soft:color-mix(in srgb,var(--tp-ui-color-brand) 12%,transparent);--hub-success:#16a34a;--hub-warning:#d97706;--hub-info:#2563eb;--hub-event-conf:var(--tp-ui-color-brand);--hub-event-meetup:#2563eb;--hub-event-workshop:#d97706;--hub-event-online:#16a34a;--hub-r-s:8px;--hub-r-m:14px;--hub-r-l:20px;--hub-shadow-s:0 1px 2px rgba(23,26,26,.06);--hub-shadow-m:0 8px 24px rgba(23,26,26,.08);--hub-shadow-l:0 20px 60px rgba(23,26,26,.14)}.theme--dark .hub-page{--hub-grad-soft:color-mix(in srgb,var(--tp-ui-color-brand) 22%,transparent);--hub-success:#4ade80;--hub-warning:#fbbf24;--hub-info:#60a5fa;--hub-event-meetup:#60a5fa;--hub-event-workshop:#fbbf24;--hub-event-online:#4ade80;--hub-shadow-s:0 1px 2px rgba(0,0,0,.3);--hub-shadow-m:0 8px 24px rgba(0,0,0,.4);--hub-shadow-l:0 20px 60px rgba(0,0,0,.5)}.hub-content{color:var(--hub-text);font-size:var(--tp-ui-font-size-text-tertiary);line-height:var(--tp-ui-line-height-text-tertiary)}.hub-content h1,.hub-content h2,.hub-content h3,.hub-content p{margin:0}.hub-content button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit}.hub-content :focus-visible{border-radius:var(--hub-r-s);outline:2px solid var(--hub-brand);outline-offset:2px}.hub-btn{align-items:center;border-radius:var(--hub-r-s);display:inline-flex;font-size:var(--tp-ui-font-size-text-tertiary);font-weight:var(--tp-ui-font-weight-bold);gap:8px;justify-content:center;padding:10px 18px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,color .18s,background .18s;white-space:nowrap}.hub-btn--primary{background:var(--tp-ui-button-background-color-primary);color:var(--tp-ui-button-text-color-primary)}.hub-btn--primary:hover{background:var(--tp-ui-button-background-color-primary--hover);transform:translateY(-1px)}.hub-btn--ghost{background:var(--tp-ui-button-background-color-secondary);border:1px solid var(--hub-line);color:var(--tp-ui-button-text-color-secondary)}.hub-btn--ghost:hover:not(:disabled){border-color:var(--hub-brand);color:var(--tp-ui-button-text-color-tertiary--hover)}.hub-btn--ghost:disabled{cursor:not-allowed;opacity:.45}.hub-btn--success{background:color-mix(in srgb,var(--hub-success) 14%,transparent);color:var(--hub-success)}.hub-btn--sm{font-size:13px;padding:7px 13px}.hub-chips{display:flex;flex-wrap:wrap;gap:8px}.hub-chip{align-items:center;background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:999px;color:var(--hub-text-2);display:inline-flex;font-size:13px;font-weight:var(--tp-ui-font-weight-bold);gap:8px;padding:8px 15px;transition:border-color .15s,color .15s,background .15s}.hub-chip:hover{border-color:var(--hub-brand);color:var(--hub-brand)}.hub-chip--active,.hub-chip[aria-pressed=true]{background:var(--hub-text);border-color:var(--hub-text);color:var(--hub-surface)}.hub-tag{background:var(--hub-surface-2);border-radius:999px;color:var(--hub-text-2);font-size:11px;font-weight:var(--tp-ui-font-weight-bold);padding:3px 10px}.hub-tag--hot{background:color-mix(in srgb,var(--hub-warning) 14%,transparent);color:var(--hub-warning)}.hub-tag--online{background:color-mix(in srgb,var(--hub-info) 12%,transparent);color:var(--hub-info)}.hub-tag--paid{background:var(--hub-grad);color:#fff}.hub-link-more{align-items:center;color:var(--hub-brand);display:inline-flex;font-size:var(--tp-ui-font-size-text-tertiary);font-weight:var(--tp-ui-font-weight-bold);gap:7px;text-decoration:none;white-space:nowrap}.hub-link-more:after{border-bottom:1.5px solid;border-right:1.5px solid;content:"";flex:none;height:6px;transform:rotate(-45deg);transition:transform .18s;width:6px}.hub-link-more:hover{color:var(--hub-brand-hover)}.hub-link-more:hover:after{transform:rotate(-45deg) translate(3px)}.hub-co-logo{border-radius:13px;color:#fff;display:grid;flex:none;font-size:15px;font-weight:800;height:46px;place-items:center;width:46px}.hub-co-logo--1{background:linear-gradient(135deg,#ffdb4d,#fc3f1d)}.hub-co-logo--2{background:linear-gradient(135deg,#07f,#00e0ff)}.hub-co-logo--3{background:linear-gradient(135deg,#a855f7,#6366f1)}.hub-co-logo--4{background:linear-gradient(135deg,#005bff,#00e676)}.hub-ad-label{display:inline-flex;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.hub-ad-label,.hub-ad-slot{align-items:center;color:var(--hub-muted);gap:6px}.hub-ad-slot{background:repeating-linear-gradient(45deg,transparent,transparent 12px,color-mix(in srgb,var(--hub-brand) 4%,transparent) 12px,color-mix(in srgb,var(--hub-brand) 4%,transparent) 24px);border:1.5px dashed var(--tp-ui-border-color-secondary);border-radius:var(--hub-r-l);display:flex;flex-direction:column;justify-content:center;min-height:110px;padding:16px;text-align:center}.hub-ad-slot b{color:var(--hub-text-2);font-size:13px}.hub-ad-slot span{font-size:12px}.hub-ad-slot--rect{border-radius:var(--hub-r-m);min-height:250px}.hub-pulse{background:var(--hub-success);border-radius:50%;flex:none;height:7px;position:relative;width:7px}.hub-pulse:after{animation:hub-pulse 1.8s infinite;border:2px solid var(--hub-success);border-radius:50%;content:"";top:-3px;right:-3px;bottom:-3px;left:-3px;opacity:.4;position:absolute}@keyframes hub-pulse{to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.hub-content *,.hub-content :after,.hub-content :before{animation:none!important;transition:none!important}}.hub-badge{align-items:center;background:var(--hub-surface-2);border-radius:100px;color:var(--hub-text-2);display:inline-flex;font-size:11px;font-weight:800;letter-spacing:.2px;line-height:1.3;padding:3px 9px;white-space:nowrap}.hub-badge--brand{background:var(--hub-grad-soft);color:var(--hub-brand-ink)}.hub-badge--warning{background:color-mix(in srgb,var(--hub-warning) 14%,transparent);color:var(--hub-warning)}.hub-badge--negative{background:var(--tp-ui-background-color-negative);color:var(--tp-ui-color-error)}.hub-type{align-items:center;color:var(--hub-text-2);display:inline-flex;font-size:12px;font-weight:700;gap:6px}.hub-type:before{background:var(--hub-event-color,var(--hub-brand));border-radius:50%;content:"";height:8px;width:8px}.hub-type--conf{--hub-event-color:var(--hub-event-conf)}.hub-type--meetup{--hub-event-color:var(--hub-event-meetup)}.hub-type--workshop{--hub-event-color:var(--hub-event-workshop)}.hub-type--online{--hub-event-color:var(--hub-event-online)}
