ghost 6.61.0 → 6.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ghost-storage-base-3.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-redirects-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-route-settings-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
- package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
- package/components/tryghost-checkout-0.0.0.tgz +0 -0
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
- package/components/tryghost-nql-string-0.0.0.tgz +0 -0
- package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
- package/content/settings/README.md +1 -1
- package/content/themes/casper/.gitignore +28 -0
- package/content/themes/casper/assets/built/casper.js +1 -1
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/css/screen.css +2 -1
- package/content/themes/casper/assets/js/lightbox.js +63 -46
- package/content/themes/casper/package.json +6 -6
- package/content/themes/casper/page.hbs +1 -0
- package/content/themes/casper/post.hbs +1 -0
- package/content/themes/source/.gitignore +28 -0
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/built/source.js +1 -1
- package/content/themes/source/assets/css/screen.css +2 -1
- package/content/themes/source/assets/js/lightbox.js +62 -45
- package/content/themes/source/assets/js/main.js +2 -2
- package/content/themes/source/package.json +4 -4
- package/content/themes/source/partials/feature-image.hbs +1 -0
- package/core/boot.js +54 -22
- package/core/built/admin/assets/Combination-B0l4MKVh.js +41 -0
- package/core/built/admin/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
- package/core/built/admin/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
- package/core/built/admin/assets/{about-Bve7IJS2.js → about-Dyae_UT6.js} +1 -1
- package/core/built/admin/assets/account-migration-CESa0mnX.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-C-aej4x_.js → account-migration-By69CgCp.js} +16 -16
- package/core/built/admin/assets/activitypub/activitypub.js +9 -9
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BXkA5mqV.js → bluesky-sharing-BJcPMrDd.js} +36 -36
- package/core/built/admin/assets/activitypub/{content-formatters-CHcyMFk4.js → content-formatters-3rTHg3mp.js} +3 -3
- package/core/built/admin/assets/activitypub/{domain-B3ihkPde.js → domain-DUR4xSkV.js} +121 -121
- package/core/built/admin/assets/activitypub/{edit-profile-DsZM3rTX.js → edit-profile-BqtfzxCp.js} +40 -40
- package/core/built/admin/assets/activitypub/{explore-BodNrZgR.js → explore-BxuJd-J4.js} +26 -26
- package/core/built/admin/assets/activitypub/{feed-PwH1iJ84.js → feed-BM1TcksA.js} +48 -48
- package/core/built/admin/assets/activitypub/{field-D06-kmOJ.js → field-Dn7HHx2-.js} +2 -2
- package/core/built/admin/assets/activitypub/inbox-CCjkuow2.js +1284 -0
- package/core/built/admin/assets/activitypub/label-1AA_s9Fa.js +16 -0
- package/core/built/admin/assets/activitypub/layout-2-0bw6HN.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-D1Yapsod.js → moderation-CnmxEB8w.js} +91 -91
- package/core/built/admin/assets/activitypub/{note-C5zjqq5C.js → note-ZKc_Bnba.js} +23 -23
- package/core/built/admin/assets/activitypub/{notifications-B9p8eCHD.js → notifications-CB2tJZau.js} +48 -48
- package/core/built/admin/assets/activitypub/{onboarding-CNelD_uF.js → onboarding-BsJ9E5qf.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-mat5Hrl0.js → onboarding-CSUJJIlh.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences-BCqUdC3v.js → preferences-0-JZnUkI.js} +1519 -1519
- package/core/built/admin/assets/activitypub/{profile-BRCWoFem.js → profile-C35cFIhM.js} +183 -183
- package/core/built/admin/assets/activitypub/{routes-BSXT992i.js → routes-BD4vscyc.js} +740 -731
- package/core/built/admin/assets/activitypub/settings-BsMROdqh.js +315 -0
- package/core/built/admin/assets/activitypub/{site-DHoMupSB.js → site-O0RL9YCN.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-B-YfsVeO.js → step-1-BMSx7c_X.js} +4 -4
- package/core/built/admin/assets/activitypub/{step-3-D6BFMXL_.js → step-3-CLlOZTyt.js} +3 -3
- package/core/built/admin/assets/activitypub/{tabs-GpNecvfB.js → tabs-Dxk-b9M-.js} +306 -306
- package/core/built/admin/assets/activitypub/{topic-filter-BPDeQQys.js → topic-filter-5yZH6tId.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-BoVOxXkV.js → use-activity-pub-queries-CV50qe03.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-wVBX7swM.js → use-reply-chain-data-Cbvzgjzd.js} +30 -30
- package/core/built/admin/assets/activitypub/{users-CoX6FT_K.js → users-BjcoP_HC.js} +7 -5
- package/core/built/admin/assets/add-integration-modal-BlF6rs_f.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-CglVQqah.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-wz7BsuaG.js +1 -0
- package/core/built/admin/assets/analytics-C4HE1gBg.js +1 -0
- package/core/built/admin/assets/{announcement-bar-modal-DM3cYOpo.js → announcement-bar-modal-Ci4zz8jO.js} +1 -1
- package/core/built/admin/assets/{api-keys-BLm2NDBh.js → api-keys-Ck-Yteiv.js} +1 -1
- package/core/built/admin/assets/{audience-9mwU5TW6.js → audience-CtbA54Sn.js} +1 -1
- package/core/built/admin/assets/{automated-emails-te1D5kq-.js → automated-emails-D5VVMND9.js} +1 -1
- package/core/built/admin/assets/automations-CzKt5fb8.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-BEtJ_gL_.js +1 -0
- package/core/built/admin/assets/{breadcrumb-DLiqCyFc.js → breadcrumb-zUrZrBtW.js} +1 -1
- package/core/built/admin/assets/{button-B2jcu6bk.js → button-eNMKQWXr.js} +1 -1
- package/core/built/admin/assets/{chart-helpers-Fo3bUL3K.js → chart-helpers-CfBKt0vT.js} +1 -1
- package/core/built/admin/assets/{checkbox-BfKktMph.js → checkbox-CgOn_tKW.js} +1 -1
- package/core/built/admin/assets/{chunk.524.60ca4692d91c6022042f.js → chunk.524.a697dee88db67fdf6021.js} +4 -4
- package/core/built/admin/assets/{chunk.582.525c7617c2d9e94c940a.js → chunk.582.5ed5d124cfca9c259b9c.js} +6 -6
- package/core/built/admin/assets/{chunk.896.435fe0637944d4a69810.js → chunk.598.7e056fabb47ce7dbd73f.js} +14 -14
- package/core/built/admin/assets/{code-editor-view-CYVu4EW6.js → code-editor-view-BYNoAoNV.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-DCQJxsfU.js → code-editor-view-K2wI-I5f.js} +1 -1
- package/core/built/admin/assets/color-picker-Ddw80xX6.js +3 -0
- package/core/built/admin/assets/color-picker-field-D9nUhvA7.js +1 -0
- package/core/built/admin/assets/combobox-w9j8PPQT.js +1 -0
- package/core/built/admin/assets/command-BfpHORBv.js +1 -0
- package/core/built/admin/assets/comments-BLmCmyCs.js +1 -0
- package/core/built/admin/assets/confirmation-context-CBM8G0Vj.js +1 -0
- package/core/built/admin/assets/{content-api-modal-CyQEC3fr.js → content-api-modal-TXRz3U7S.js} +1 -1
- package/core/built/admin/assets/context-menu-_QMdd3kp.js +1 -0
- package/core/built/admin/assets/{copy-field-B3M1s78L.js → copy-field-6N01S07E.js} +1 -1
- package/core/built/admin/assets/create-ghost-browse-value-source-qIBymvvf.js +1 -0
- package/core/built/admin/assets/custom-field-type-option-BddFlJFa.js +1 -0
- package/core/built/admin/assets/custom-integration-modal-DmNquxUV.js +1 -0
- package/core/built/admin/assets/{date-range-select-DD2RKkgB.js → date-range-select-uvz_DtPh.js} +1 -1
- package/core/built/admin/assets/design-and-theme-modal-BSmo12Op.js +2 -0
- package/core/built/admin/assets/dirty-confirm-dialog-BZ1iytEd.js +1 -0
- package/core/built/admin/assets/{disabled-sources-indicator-Cvy47bE2.js → disabled-sources-indicator-DMRrxsiJ.js} +1 -1
- package/core/built/admin/assets/dist-Dcsslyo72.js +1 -0
- package/core/built/admin/assets/domain-BNYrt0aD.js +1 -0
- package/core/built/admin/assets/dropzone-D7nFdAe5.js +5 -0
- package/core/built/admin/assets/edit-profile-C5Asm4LA.js +1 -0
- package/core/built/admin/assets/editor-REokrzci.js +8 -0
- package/core/built/admin/assets/{embed-signup-form-modal-DeBMLxlL.js → embed-signup-form-modal-Ds6mPEi5.js} +1 -1
- package/core/built/admin/assets/en-B1jX3WMs.js +1 -0
- package/core/built/admin/assets/explore-UY10Egsp.js +1 -0
- package/core/built/admin/assets/feature-image-placeholder-D1iF_8bc.js +1 -0
- package/core/built/admin/assets/feed-81C8mJWR.js +1 -0
- package/core/built/admin/assets/{field-Cj8lmDOo.js → field-Dihp5p18.js} +1 -1
- package/core/built/admin/assets/filter-bar-Da1qxybu.js +1 -0
- package/core/built/admin/assets/filter-sources-BO9xUPj7.js +1 -0
- package/core/built/admin/assets/filters-CRUWecfY.js +1 -0
- package/core/built/admin/assets/filters-DirqNXjH.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-CT6MxYZb.js +1 -0
- package/core/built/admin/assets/{ghost-c8807202a07c20030acb719ee0114815.css → ghost-8eabfc1ece81b03cf7b90780d31487e8.css} +1 -1
- package/core/built/admin/assets/{ghost-3894eedcc6968f658578c0abfe942aab.js → ghost-c2848508292937415f20f5a830eea59e.js} +31 -28
- package/core/built/admin/assets/{ghost-dark-fbf1e384aaef3ae315e540f0eb7373a7.css → ghost-dark-a7bebe2c561f55369dcf29f4c820f7ff.css} +1 -1
- package/core/built/admin/assets/gift-link-modal-CQVAye17.js +1 -0
- package/core/built/admin/assets/growth-BWIu-6xj.js +3 -0
- package/core/built/admin/assets/growth-DU29oxeA.js +1 -0
- package/core/built/admin/assets/history-modal-CFd1Hvx6.js +1 -0
- package/core/built/admin/assets/{html-field-C8qVGGC1.js → html-field-CJBCLTvv.js} +1 -1
- package/core/built/admin/assets/{images-h8VZEQ9k.js → images-scfkWZiK.js} +1 -1
- package/core/built/admin/assets/{inbox-BYd1M06Q.js → inbox-Mcp4DXZN.js} +14 -14
- package/core/built/admin/assets/index-6MkPdCtr.js +4 -0
- package/core/built/admin/assets/index-Bn7QhcZu.css +2 -0
- package/core/built/admin/assets/index.es-CNnuNH0d.js +1 -0
- package/core/built/admin/assets/{input-group-D8sCXRF5.js → input-group-CMhe2DvY.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-DfheMXs0.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +14 -14
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +3 -3
- package/core/built/admin/assets/koenig-lexical/style.css +1 -1
- package/core/built/admin/assets/{koenig-lexical-_-IsVI7E.js → koenig-lexical-DBSqAuiI.js} +3 -3
- package/core/built/admin/assets/koenig-loader-aFQNlJlD.js +2 -0
- package/core/built/admin/assets/{kpi-card-DZQk_0W8.js → kpi-card-DBRMfGOW.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DW_2y3ug.js → kpi-card-DFafD1qq.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-PueTKuA6.js → kpi-helpers-Cv8i8hns.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-CojDs-Qz.js → kpi-tabs-BJItvLYm.js} +1 -1
- package/core/built/admin/assets/{label-DjbT91GM.js → label-BnSCvffu.js} +1 -1
- package/core/built/admin/assets/label-picker-KVoo91sh.js +1 -0
- package/core/built/admin/assets/layout-Bjv2Ll-5.js +1 -0
- package/core/built/admin/assets/member-custom-fields-DDQV6QeG.js +1 -0
- package/core/built/admin/assets/member-detail-CdJF6Agw.js +1 -0
- package/core/built/admin/assets/members-DjQbq9Z2.js +4 -0
- package/core/built/admin/assets/moderation-AgCIEso4.js +1 -0
- package/core/built/admin/assets/{multi-select-combobox-B6LiRzDO.js → multi-select-combobox-BcITkUVr.js} +1 -1
- package/core/built/admin/assets/navigation-modal-BkT7b1M2.js +1 -0
- package/core/built/admin/assets/newsletter-BMMAuvgq.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-0SCJ7Zpm.js +1 -0
- package/core/built/admin/assets/{newsletter-emails-CFeLlt4z.js → newsletter-emails-DKzwafuh.js} +1 -1
- package/core/built/admin/assets/newsletters-BRBb_uQC.js +1 -0
- package/core/built/admin/assets/note-DyGHtS9a.js +1 -0
- package/core/built/admin/assets/notifications-ZgWniKna.js +1 -0
- package/core/built/admin/assets/nql-BLpCn7qX.js +21 -0
- package/core/built/admin/assets/offers-container-modal-B-E8TIWr.js +1 -0
- package/core/built/admin/assets/{onboarding-B4YhlZ0i.js → onboarding-CzIsre-d.js} +1 -1
- package/core/built/admin/assets/onboarding-qg8Akovm.js +1 -0
- package/core/built/admin/assets/{onboarding-route-Dmc4IPm3.js → onboarding-route-CaavZulg.js} +1 -1
- package/core/built/admin/assets/overview-BW8GLeYi.js +1 -0
- package/core/built/admin/assets/overview-BkXZNzaZ.js +1 -0
- package/core/built/admin/assets/{page-header-BR_nbIPp.js → page-header-De0VzKBi.js} +1 -1
- package/core/built/admin/assets/pagemenu-B5KKCpbA.js +1 -0
- package/core/built/admin/assets/pages-jgaFm69d.js +1 -0
- package/core/built/admin/assets/pages-route-CIUAQxtY.js +1 -0
- package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +10 -0
- package/core/built/admin/assets/{pintura-modal-BR9hEvS8.js → pintura-modal-BZ2J9w3n.js} +1 -1
- package/core/built/admin/assets/portal-frame-B6Hr9wHc.js +1 -0
- package/core/built/admin/assets/portal-modal-D4ceei3t.js +1 -0
- package/core/built/admin/assets/post-analytics-header-BYCsT0GP.js +1 -0
- package/core/built/admin/assets/post-analytics-ot7f6pih.js +1 -0
- package/core/built/admin/assets/{post-analytics-provider-CLfKGWZy.js → post-analytics-provider-Bo1gmYaP.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-Cl0NXRJr.js → post-share-modal-C-PaYZ_e.js} +1 -1
- package/core/built/admin/assets/posts-DuGazgTb.js +1 -0
- package/core/built/admin/assets/posts-list-screen-CBGGgjjj.js +2 -0
- package/core/built/admin/assets/posts-route-D6xmS7Vf.js +1 -0
- package/core/built/admin/assets/preferences-C5YJLp74.js +5 -0
- package/core/built/admin/assets/{preview-modal-C-BL-F9k.js → preview-modal-BfeFqi5y.js} +1 -1
- package/core/built/admin/assets/profile-B8mx2yAu.js +1 -0
- package/core/built/admin/assets/radio-group-DczlLKOn.js +1 -0
- package/core/built/admin/assets/{schemas-4UPic-oD.js → schemas-DppqmpeJ.js} +1 -1
- package/core/built/admin/assets/select-cb0t_TAJ.js +1 -0
- package/core/built/admin/assets/settings-DZqxR0Da.js +1 -0
- package/core/built/admin/assets/settings-DvfTNdHQ.js +4 -0
- package/core/built/admin/assets/{settings-breadcrumbs-CyP_9zTo.js → settings-breadcrumbs-DLzbRRSt.js} +1 -1
- package/core/built/admin/assets/share-modal-D2-Bz1_I.js +1 -0
- package/core/built/admin/assets/slack-modal-DYDTUria.js +1 -0
- package/core/built/admin/assets/{sort-button-Cc-Z96sA.js → sort-button-VVeQjjbu.js} +1 -1
- package/core/built/admin/assets/{source-icon-v6PUnmyM.js → source-icon-Ck5_5Kgq.js} +1 -1
- package/core/built/admin/assets/stats-Rjmk5owg.js +1 -0
- package/core/built/admin/assets/stats-view-BGGmkmgv.js +1 -0
- package/core/built/admin/assets/{step-1-DSRp2vBj.js → step-1-CsaBjeN4.js} +1 -1
- package/core/built/admin/assets/{step-2-COqv2g0u.js → step-2-D2vnxOOM.js} +1 -1
- package/core/built/admin/assets/{step-3-6W1NMVQc.js → step-3-wBoLdGEb.js} +2 -2
- package/core/built/admin/assets/{stripe-button-D2K42Uty.js → stripe-button-CDgLz0S0.js} +1 -1
- package/core/built/admin/assets/stripe-connect-modal-CSjMJetP.js +1 -0
- package/core/built/admin/assets/{table-B2pIKjVh.js → table-Do6iQ83Q.js} +1 -1
- package/core/built/admin/assets/{tabs-SaW_UT-Q.js → tabs-D2yWLMp_.js} +1 -1
- package/core/built/admin/assets/tag-detail-BhXlOsCa.js +2 -0
- package/core/built/admin/assets/tags-ldukRApe.js +1 -0
- package/core/built/admin/assets/testimonials-modal-CtnZBJKl.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-BOs8e_G8.js +1 -0
- package/core/built/admin/assets/{toggle-group-EM9WpESu.js → toggle-group-ByUJsxwD.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DY4gNHn2.js → topic-filter-BgC3g5_v.js} +1 -1
- package/core/built/admin/assets/{transistor-modal-CpyPG-MH.js → transistor-modal-Drr0SNfo.js} +1 -1
- package/core/built/admin/assets/{trend-badge-ByMkuAuH.js → trend-badge-6ye93YAW.js} +1 -1
- package/core/built/admin/assets/{unsplash-modal-Cv2Q6GtY.js → unsplash-modal-p6AoQoWp.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-CHvjMYuT.js → use-analytics-data-CWCMAESo.js} +1 -1
- package/core/built/admin/assets/use-check-theme-limit-error-B8bjF-gO.css +1 -0
- package/core/built/admin/assets/{use-check-theme-limit-error-Qv4SVXqw.js → use-check-theme-limit-error-Cw3WQHy8.js} +1 -1
- package/core/built/admin/assets/use-filter-params-BIni9taJ.js +1 -0
- package/core/built/admin/assets/use-growth-stats-DCVG3s9w.js +1 -0
- package/core/built/admin/assets/{use-limiter-cwJvsNBo.js → use-limiter-D2WRRx0H.js} +1 -1
- package/core/built/admin/assets/{use-pintura-config-CzTfnufz.js → use-pintura-config-h-J0Lvta.js} +1 -1
- package/core/built/admin/assets/{use-pintura-editor-BDBXWUYq.js → use-pintura-editor-BfN1UwzH.js} +1 -1
- package/core/built/admin/assets/use-post-referrers-Czg47m8s.js +1 -0
- package/core/built/admin/assets/use-reply-chain-data-ns0caK8k.js +1 -0
- package/core/built/admin/assets/{use-router-history-entry-Bg6BhBQQ.js → use-router-history-entry-uldn7zJO.js} +1 -1
- package/core/built/admin/assets/{use-setting-group-VM7FQwMY.js → use-setting-group-DpcuCUDg.js} +1 -1
- package/core/built/admin/assets/use-settings-navigation-CZjGrhsp.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-Dum6Irbs.js → use-simple-pagination-DzJWobPR.js} +1 -1
- package/core/built/admin/assets/{use-staff-users-cZg4ugOF.js → use-staff-users-Csipb-O0.js} +1 -1
- package/core/built/admin/assets/use-tinybird-query-CSnGXzZh.js +1 -0
- package/core/built/admin/assets/use-tinybird-token-DTOKRR7e.js +1 -0
- package/core/built/admin/assets/{use-unsaved-changes-guard-BAy0RANR.js → use-unsaved-changes-guard-CBzs-KPi.js} +1 -1
- package/core/built/admin/assets/{use-url-input-Df5QzNa7.js → use-url-input-DFr8lCbS.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-B_iUClI6.js +1 -0
- package/core/built/admin/assets/users-Cg-OeGzC.js +1 -0
- package/core/built/admin/assets/{virtual-list-DEx8WgiO.js → virtual-list-BW-padMe.js} +1 -1
- package/core/built/admin/assets/web-C1v33ehA.js +2 -0
- package/core/built/admin/assets/web-C4BKzn2T.js +1 -0
- package/core/built/admin/assets/{zapier-modal-Cw3BTBUu.js → zapier-modal-BBFfI6Ml.js} +1 -1
- package/core/built/admin/index.html +17 -22
- package/core/frontend/apps/private-blogging/lib/views/private.hbs +44 -43
- package/core/frontend/helpers/cancel_link.js +2 -2
- package/core/frontend/helpers/pagination.js +2 -2
- package/core/frontend/helpers/social_accounts.js +2 -2
- package/core/frontend/public/ghost.css +1 -1
- package/core/frontend/public/ghost.min.css +1 -1
- package/core/frontend/services/sitemap/user-map-generator.js +9 -2
- package/core/server/api/endpoints/index.js +2 -2
- package/core/server/api/endpoints/mail.js +1 -1
- package/core/server/api/endpoints/{member-custom-fields.js → member-metafields.js} +27 -28
- package/core/server/api/endpoints/members.js +4 -4
- package/core/server/api/endpoints/posts.js +3 -3
- package/core/server/api/endpoints/utils/serializers/input/members.js +4 -7
- package/core/server/api/endpoints/utils/serializers/output/index.js +2 -2
- package/core/server/api/endpoints/utils/serializers/output/{member-custom-fields.js → member-metafields.js} +2 -4
- package/core/server/api/endpoints/utils/serializers/output/members.js +2 -4
- package/core/server/api/endpoints/utils/validators/input/invitations.js +0 -5
- package/core/server/api/endpoints/utils/validators/input/pages.js +1 -1
- package/core/server/api/endpoints/utils/validators/input/posts.js +1 -1
- package/core/server/data/importer/importers/data/data-importer.js +3 -3
- package/core/server/data/migrations/utils/migrations.js +1 -1
- package/core/server/lib/image/image-size.js +24 -0
- package/core/server/lib/package-json/parse.js +2 -2
- package/core/server/models/member.js +6 -17
- package/core/server/models/post.js +2 -2
- package/core/server/models/relations/authors.js +2 -16
- package/core/server/models/user.js +9 -2
- package/core/server/services/auth/passwordreset.js +13 -0
- package/core/server/services/comments/comments-controller.js +30 -9
- package/core/server/services/comments/comments-service.js +55 -5
- package/core/server/services/content-import/csv/formula.js +12 -0
- package/core/server/services/content-import/csv/index.js +6 -1
- package/core/server/services/content-import/csv/parse.js +27 -6
- package/core/server/services/content-import/csv/serialize.js +13 -0
- package/core/server/services/content-import/import/completion-email.js +164 -0
- package/core/server/services/content-import/import/errors-file.js +36 -0
- package/core/server/services/content-import/import/importer.js +160 -53
- package/core/server/services/content-import/import/local-media-url.js +63 -0
- package/core/server/services/content-import/import/media.js +254 -0
- package/core/server/services/content-import/import/post-data.js +0 -1
- package/core/server/services/content-import/import/post-link.js +11 -0
- package/core/server/services/content-import/import/post-repository.js +25 -3
- package/core/server/services/content-import/import/reader.js +9 -2
- package/core/server/services/content-import/import/report.js +34 -0
- package/core/server/services/content-import/import/row.js +0 -2
- package/core/server/services/content-import/import/schema.js +1 -0
- package/core/server/services/content-import/import/staged-file.js +29 -0
- package/core/server/services/content-import/import/store.js +25 -2
- package/core/server/services/content-import/index.js +52 -6
- package/core/server/services/content-import/jobs/content-csv-import-job.js +20 -0
- package/core/server/services/custom-redirects/redirect-config-parser.js +2 -2
- package/core/server/services/custom-redirects/redirects-service.js +1 -1
- package/core/server/services/custom-redirects/validation.js +1 -1
- package/core/server/services/email-address/email-address-parser.js +30 -38
- package/core/server/services/email-address/email-address-service.js +37 -4
- package/core/server/services/email-analytics/index.js +2 -7
- package/core/server/services/email-service/batch-sending-service.js +0 -4
- package/core/server/services/email-service/email-renderer.js +14 -4
- package/core/server/services/email-service/email-service-wrapper.js +0 -9
- package/core/server/services/email-service/mailgun-email-provider.js +20 -9
- package/core/server/services/gifts/email-templates/gift-delivery.hbs +3 -3
- package/core/server/services/gifts/gift-email-service.js +0 -1
- package/core/server/services/gifts/index.js +3 -3
- package/core/server/services/gifts/jobs/index.js +4 -4
- package/core/server/services/indexnow-ping/indexnow-ping-service.js +2 -2
- package/core/server/services/invitations/accept.js +4 -2
- package/core/server/services/jobs/job-service.js +0 -9
- package/core/server/services/jobs-service/register-job-handlers.js +21 -11
- package/core/server/services/mail/ghost-mailer.js +4 -4
- package/core/server/services/member-welcome-emails/service.js +7 -7
- package/core/server/services/members/api.js +1 -0
- package/core/server/services/members/import-export/csv/parse.js +0 -7
- package/core/server/services/members/import-export/import/completion-email.js +2 -5
- package/core/server/services/members/import-export/import/row.js +0 -3
- package/core/server/services/members/import-export/index.js +4 -11
- package/core/server/services/members/jobs/clean-expired-comped-job.js +7 -0
- package/core/server/services/members/jobs/clean-expired-comped-task.js +145 -0
- package/core/server/services/members/jobs/index.js +48 -24
- package/core/server/services/members/members-api/controllers/member-controller.js +11 -0
- package/core/server/services/members/members-api/controllers/router-controller.js +3 -6
- package/core/server/services/members/members-api/members-api.js +4 -6
- package/core/server/services/members/members-api/repositories/event-repository.js +0 -4
- package/core/server/services/members/members-api/services/member-bread-service.js +34 -62
- package/core/server/services/members/members-api/services/payments-service.js +1 -1
- package/core/server/services/members/service.js +1 -5
- package/core/server/services/members-custom-fields/bindings-service.js +2 -1
- package/core/server/services/members-custom-fields/codec.js +3 -4
- package/core/server/services/members-custom-fields/definitions-service.js +62 -10
- package/core/server/services/members-custom-fields/filter.js +75 -93
- package/core/server/services/members-custom-fields/key.js +2 -1
- package/core/server/services/members-custom-fields/models.js +1 -1
- package/core/server/services/members-custom-fields/serializers.js +3 -5
- package/core/server/services/members-custom-fields/values-service.js +50 -28
- package/core/server/services/mentions/mention-controller.js +23 -21
- package/core/server/services/mentions/process-webmention-job.js +16 -0
- package/core/server/services/mentions/service.js +8 -4
- package/core/server/services/route-settings/validation-errors.js +1 -1
- package/core/server/services/route-settings/yaml-parser.js +1 -1
- package/core/server/services/settings/settings-service.js +1 -8
- package/core/server/services/settings-helpers/settings-helpers.js +4 -6
- package/core/server/services/slack-ping/slack-ping-service.js +1 -1
- package/core/server/services/staff/staff-service-emails.js +2 -2
- package/core/server/services/stripe/config.js +14 -8
- package/core/server/services/stripe/service.js +10 -1
- package/core/server/services/stripe/services/checkout/completed-session.js +2 -2
- package/core/server/services/stripe/services/checkout/session-options.js +18 -15
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +26 -5
- package/core/server/services/stripe/stripe-api.js +2 -0
- package/core/server/services/stripe/stripe-service.js +20 -10
- package/core/server/services/stripe/webhook-controller.js +10 -0
- package/core/server/services/tier-checkout-config/codec.js +9 -5
- package/core/server/services/tier-checkout-config/models.js +9 -3
- package/core/server/services/tier-checkout-config/queries.js +4 -4
- package/core/server/services/tier-checkout-config/serializers.js +16 -10
- package/core/server/services/tier-checkout-config/service.js +13 -12
- package/core/server/services/update-check/index.js +13 -13
- package/core/server/services/update-check/jobs/update-check-job.js +7 -0
- package/core/server/services/update-check/update-check-service.js +2 -2
- package/core/server/web/admin/controller.js +1 -1
- package/core/server/web/api/endpoints/admin/routes.js +19 -16
- package/core/shared/config/env/config.testing-mysql.json +1 -1
- package/core/shared/labs.js +5 -2
- package/package.json +24 -23
- package/pnpm-lock.yaml +704 -69
- package/pnpm-workspace.yaml +8 -5
- package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
- package/core/built/admin/assets/Combination-5fYEzgbs.js +0 -41
- package/core/built/admin/assets/account-migration-DRhAehfw.js +0 -1
- package/core/built/admin/assets/activitypub/inbox-BluD2ucT.js +0 -1284
- package/core/built/admin/assets/activitypub/label-FHSh6ZAw.js +0 -16
- package/core/built/admin/assets/activitypub/layout-Cq4NG0Xr.js +0 -1
- package/core/built/admin/assets/activitypub/settings-DQDkr06X.js +0 -315
- package/core/built/admin/assets/add-integration-modal-BC0jExDZ.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-DchTkA7l.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-DMvaJZKp.js +0 -1
- package/core/built/admin/assets/alert-dialog-QhXzdHfc.js +0 -1
- package/core/built/admin/assets/analytics-No1DDY3A.js +0 -1
- package/core/built/admin/assets/automations-DpUNUdcZ.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-Cjrv_f62.js +0 -1
- package/core/built/admin/assets/color-picker-BTY_NdEm.js +0 -3
- package/core/built/admin/assets/color-picker-field-CPlkzOH0.js +0 -1
- package/core/built/admin/assets/combobox-DrMtv_4P.js +0 -1
- package/core/built/admin/assets/command-ZdgYJpoI.js +0 -1
- package/core/built/admin/assets/comments-kidj60-h.js +0 -1
- package/core/built/admin/assets/confirmation-context-BhbmQQEl.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-CsGIZk1J.js +0 -10
- package/core/built/admin/assets/custom-integration-modal-BY37O_9X.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-DUSKM4uC.js +0 -22
- package/core/built/admin/assets/dialog-B44iRwlc.js +0 -1
- package/core/built/admin/assets/dirty-confirm-dialog-BxgQgQ6H.js +0 -1
- package/core/built/admin/assets/dist-Cy8tfrp_.js +0 -1
- package/core/built/admin/assets/domain-Ca6KhoQt.js +0 -1
- package/core/built/admin/assets/dropzone-Bb-5zQTk.js +0 -5
- package/core/built/admin/assets/edit-profile-BdupLlus.js +0 -1
- package/core/built/admin/assets/editor-BP883Lpn.js +0 -8
- package/core/built/admin/assets/explore-FB-CimXw.js +0 -1
- package/core/built/admin/assets/feed-C1GxsmI2.js +0 -1
- package/core/built/admin/assets/filter-sources-D5n5bFA2.js +0 -1
- package/core/built/admin/assets/filters-DJEzkMUK.js +0 -1
- package/core/built/admin/assets/filters-MZXvdH5D.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-CGTGLCr5.js +0 -1
- package/core/built/admin/assets/gift-link-modal-B6v0tnRN.js +0 -1
- package/core/built/admin/assets/growth-BGAJD1rs.js +0 -3
- package/core/built/admin/assets/growth-D6mhcx3q.js +0 -1
- package/core/built/admin/assets/history-modal-iKwUY3XR.js +0 -1
- package/core/built/admin/assets/index-DjQe-e5s.js +0 -4
- package/core/built/admin/assets/index-Dqf2x-ry.css +0 -1
- package/core/built/admin/assets/index.es-VihPwfeH.js +0 -1
- package/core/built/admin/assets/input--W-rCTrX.js +0 -1
- package/core/built/admin/assets/invite-user-modal-MdImLCaJ.js +0 -1
- package/core/built/admin/assets/koenig-loader-DYZpm6El.js +0 -2
- package/core/built/admin/assets/label-picker-cB51xl1r.js +0 -1
- package/core/built/admin/assets/layout-c_B_1hax.js +0 -1
- package/core/built/admin/assets/loading-indicator-BpFWTVgh.js +0 -1
- package/core/built/admin/assets/member-custom-fields-qs0dIkxM.js +0 -1
- package/core/built/admin/assets/member-detail-B6uec2a6.js +0 -1
- package/core/built/admin/assets/members-BQF3CqhI.js +0 -2
- package/core/built/admin/assets/moderation-DY4wF1Q3.js +0 -1
- package/core/built/admin/assets/navigation-modal-DX-gNF3X.js +0 -1
- package/core/built/admin/assets/newsletter-CyQA7m3m.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-BDrptuxn.js +0 -1
- package/core/built/admin/assets/newsletters-DXuNmC42.js +0 -1
- package/core/built/admin/assets/note-Cgo2LCJ6.js +0 -1
- package/core/built/admin/assets/notifications-BC50AMku.js +0 -1
- package/core/built/admin/assets/offers-container-modal-DWycIMzT.js +0 -1
- package/core/built/admin/assets/onboarding-DGQuV7Ew.js +0 -1
- package/core/built/admin/assets/overview-CVbFtn-k.js +0 -1
- package/core/built/admin/assets/overview-YKj7SZaK.js +0 -1
- package/core/built/admin/assets/pages-B6vr9F_D.js +0 -1
- package/core/built/admin/assets/popover-CCy0h5rq.js +0 -1
- package/core/built/admin/assets/portal-frame-dc4XKr0e.js +0 -1
- package/core/built/admin/assets/portal-modal-BvvdF_B9.js +0 -1
- package/core/built/admin/assets/post-analytics-DX470WRG.js +0 -1
- package/core/built/admin/assets/post-analytics-header-CXpJmdDv.js +0 -1
- package/core/built/admin/assets/posts-KY3aUhVV.js +0 -1
- package/core/built/admin/assets/preferences-DO0UUWFp.js +0 -5
- package/core/built/admin/assets/profile-CxT-0l4d.js +0 -1
- package/core/built/admin/assets/radio-group-Bgz60i81.js +0 -1
- package/core/built/admin/assets/select-DuDUFdPq.js +0 -1
- package/core/built/admin/assets/settings-BjCii7BM.js +0 -1
- package/core/built/admin/assets/settings-b8kNzZSQ.js +0 -4
- package/core/built/admin/assets/share-modal-BV70mr9k.js +0 -1
- package/core/built/admin/assets/shim-ClF_m5ux.js +0 -1
- package/core/built/admin/assets/slack-modal-Be2_KK-z.js +0 -1
- package/core/built/admin/assets/stats-C4reGh9O.js +0 -1
- package/core/built/admin/assets/stats-view-DP9pQ62k.js +0 -1
- package/core/built/admin/assets/stripe-connect-modal-Z-UT_BGc.js +0 -1
- package/core/built/admin/assets/tag-detail-Dc0nTOtU.js +0 -2
- package/core/built/admin/assets/tags-BLaXBwnb.js +0 -1
- package/core/built/admin/assets/testimonials-modal-sFwRnNLh.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-BCFpWwUS.js +0 -1
- package/core/built/admin/assets/use-filter-params-CAvfDvf1.js +0 -1
- package/core/built/admin/assets/use-growth-stats-D6mZXGhK.js +0 -1
- package/core/built/admin/assets/use-post-referrers-DbY-mzci.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-BeQwz8oF.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-BbrSUVcf.js +0 -1
- package/core/built/admin/assets/use-tinybird-query-B1IMyAcv.js +0 -39
- package/core/built/admin/assets/use-tinybird-token-Bow0Zwn8.js +0 -1
- package/core/built/admin/assets/user-detail-modal-yipSoQfv.js +0 -1
- package/core/built/admin/assets/users-5msE1WMs.js +0 -1
- package/core/built/admin/assets/web-CKcXAu86.js +0 -1
- package/core/built/admin/assets/web-DR4TqM3E.js +0 -2
- package/core/server/services/jobs/worker-model-event-bridge.js +0 -149
- package/core/server/services/members/jobs/clean-expired-comped.js +0 -132
- package/core/server/services/stripe/services/checkout/allowed-countries.js +0 -267
- package/core/server/services/stripe/services/checkout/field-ports.js +0 -34
- package/core/server/services/tier-checkout-config/destinations.js +0 -17
- package/core/server/services/update-check/run-update-check.js +0 -63
|
@@ -1 +1 @@
|
|
|
1
|
-
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;max-width:100%;height:auto}html{box-sizing:border-box;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{margin:.67em 0;font-size:2em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{padding:3px 5px;font-family:var(--font-mono);font-size:1.5rem;background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25)}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit}button{overflow:visible;border:none}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{padding:0;border:0}textarea{overflow:auto}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{color:var(--color-darkgrey);font-family:var(--gh-font-body,var(--font-sans));font-size:1.6rem;line-height:1.6em;font-weight:400;font-style:normal;letter-spacing:0;text-rendering:optimizeLegibility;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on}::-moz-selection{text-shadow:none;background:#daf2fd}::selection{text-shadow:none;background:#daf2fd}hr{position:relative;display:block;width:100%;margin:2.5em 0 3.5em;padding:0;height:1px;border:0;border-top:1px solid #f0f0f0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{margin:0;padding:0;border:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0}ol,ul{max-width:100%}li{padding-left:.3em;line-height:1.6em}li+li{margin-top:.5em}dt{float:left;margin:0 20px 0 0;width:120px;color:#daf2fd;font-weight:500;text-align:right}dd{margin:0 0 5px;text-align:left}sub,sup{line-height:1}blockquote{margin:1.5em 0;padding:0 1.6em;border-left:#daf2fd}blockquote small{display:inline-block;margin:.8em 0 .8em 1.5em;font-size:.9em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.15;font-family:var(--gh-font-heading,var(--font-sans));font-weight:600;text-rendering:optimizeLegibility;letter-spacing:-.01em}h1{margin:0 0 .5em;font-size:4.8rem;font-weight:700;letter-spacing:-.015em}@media (max-width:600px){h1{font-size:2.8rem}}h2{margin:1.5em 0 .5em;font-size:2.8rem;font-weight:700}@media (max-width:600px){h2{font-size:2.3rem}}h3{margin:1.5em 0 .5em;font-size:2.4rem;font-weight:600}@media (max-width:600px){h3{font-size:1.7rem}}h4{margin:1.5em 0 .5em;font-size:2rem}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}:root{--color-green:#a4d037;--color-yellow:#fecd35;--color-red:#f05230;--color-darkgrey:#15171a;--color-midgrey:#738a94;--color-lightgrey:#f1f1f1;--color-secondary-text:#979797;--color-border:#e1e1e1;--color-wash:#e5eff5;--color-darkmode:#151719;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-serif:Georgia, Times, serif;--font-mono:Menlo, Courier, monospace}.viewport{position:relative;display:flex;flex-direction:column;min-height:100vh}.site-content{flex-grow:1}.outer{position:relative;padding:0 max(4vmin,20px)}.inner{margin:0 auto;max-width:1200px;width:100%}.site-header{position:relative;color:#fff;background:var(--ghost-accent-color)}.site-header-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.site-header-content{position:relative;z-index:100;display:flex;align-items:center;padding-top:calc(19vmin + 44px);padding-bottom:19vmin;text-align:center;color:var(--color-darkgrey)}.has-cover .site-header-content{min-height:560px;background-color:var(--ghost-accent-color);color:#fff}.site-header-content.left-aligned{padding-bottom:0;text-align:left}.has-cover .site-header-content.left-aligned{align-items:flex-end;padding-bottom:max(4vmin,32px)}.site-header-content.no-content{padding-top:0;padding-bottom:2vmin}.site-header-inner{position:relative}.site-header-content.left-aligned .site-header-inner{align-items:flex-start}.site-logo{flex-shrink:0;margin:0 auto;max-height:120px}.site-header-content.left-aligned .site-logo{margin-right:auto;margin-left:0;max-height:96px}.site-title{z-index:10;margin:0;padding:0;font-size:5rem;font-weight:800}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .site-title{font-family:var(--gh-font-heading,var(--font-serif))}.has-cover .site-title{font-size:6rem}.site-header-content.left-aligned .site-title{font-size:4.4rem}.has-cover .site-header-content.left-aligned .site-title{font-size:4.6rem}.site-description{display:inline-block;z-index:10;max-width:960px;font-size:6rem;font-weight:700;line-height:1.1}.site-description:first-child{font-family:var(--gh-font-heading,var(--font-sans))}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .site-description:first-child{font-family:var(--gh-font-heading,var(--font-serif))}:is(.site-logo,.site-title)+.site-description{max-width:640px;margin-top:16px;font-size:2.4rem;font-weight:400;line-height:1.4}.site-logo+.site-description{margin-top:20px}.site-title+.site-description{color:var(--color-secondary-text)}.has-cover .site-description{letter-spacing:-.005em;color:#fff}.has-cover :is(.site-logo,.site-title)+.site-description{font-size:2.4rem}.has-cover .site-header-content.left-aligned :is(.site-logo,.site-title)+.site-description{font-size:2.2rem}@media (min-width:992px){.is-head-stacked.has-cover .site-header-content{padding-top:calc(19vmin + 120px)}}@media (max-width:991px){.site-header-content{padding-top:calc(19vmin + 32px)}}@media (max-width:767px){.has-cover .site-header-content{min-height:240px}.site-header-inner{gap:16px}.site-logo{max-width:60%}.site-title{font-size:3.4rem!important}.site-description{font-size:2.2rem!important}.site-logo+.site-description,.site-title+.site-description{margin-top:12px!important}}.gh-head{height:88px;font-size:1.6rem;line-height:1.3em;background-color:#fff;z-index:150}.has-cover:not(.home-template) .gh-head{background-color:var(--ghost-accent-color);color:#fff}:is(.home-template,.paged:not(.tag-template):not(.author-template)).has-cover .gh-head{position:absolute;top:0;right:0;left:0;z-index:2000;background-color:transparent;color:#fff}.gh-head a{text-decoration:none}.gh-head-inner{display:grid;-moz-column-gap:40px;column-gap:40px;grid-auto-flow:row dense;align-items:center;height:100%}.gh-head-inner,.is-head-left-logo .gh-head-inner{grid-template-columns:auto 1fr auto}.is-head-left-logo.home-template .gh-head:not(.is-header-hidden) .gh-head-logo{display:none}.is-head-left-logo.home-template .gh-head:not(.is-header-hidden) .gh-head-menu{margin-left:-40px}@media (min-width:992px){.is-head-left-logo .gh-head-menu{margin-right:64px;margin-left:16px}}.is-head-middle-logo .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-middle-logo .gh-head-brand{grid-column-start:2}@media (min-width:992px){.is-head-middle-logo .gh-head-menu{margin-right:64px}}.is-head-stacked .gh-head{height:auto}.is-head-stacked .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-stacked .gh-head-brand{grid-row-start:1;grid-column-start:2}@media (min-width:992px){.is-head-stacked .gh-head-inner{padding:0}.is-head-stacked .gh-head-brand{position:relative;display:flex;align-items:center;height:80px}.is-head-stacked .gh-head-menu{grid-row-start:2;grid-column:1/4;justify-content:center;height:56px;margin:0 48px}.is-head-stacked .gh-head-menu:after,.is-head-stacked .gh-head-menu:before{position:absolute;top:80px;left:0;width:100%;height:1px;content:"";background-color:var(--color-lightgrey)}.is-head-stacked.has-cover .gh-head-menu:after,.is-head-stacked.has-cover .gh-head-menu:before{background-color:hsla(0,0%,100%,.2)}.is-head-stacked .gh-head-menu:after{top:136px}.is-head-stacked .gh-head-actions{grid-row-start:1;grid-column:1/4;justify-content:space-between}}.gh-head-brand{display:flex;align-items:center;height:40px;word-break:break-all}.gh-head-logo{display:block;font-family:var(--gh-font-heading,var(--font-sans));font-weight:800;font-size:2.6rem;letter-spacing:-.02em;color:inherit;white-space:nowrap}.gh-head-logo.no-image{margin-top:-5px}.has-cover .gh-head-logo{color:#fff}.gh-head-logo img{max-height:40px}.gh-head-menu{display:flex;align-items:center;margin-top:1px;font-weight:500}.gh-head-menu .nav{flex-wrap:wrap;gap:32px;list-style:none;margin:0;padding:0}.gh-head-menu .nav,.nav a{display:inline-flex;align-items:center}.nav a{gap:.35em;vertical-align:middle}.nav-icon{display:block;width:1em;height:1em;flex:0 0 auto;-o-object-fit:contain;object-fit:contain}.gh-head-menu .nav li{margin:0;padding:0}.gh-head-menu .nav a{line-height:1.7;color:inherit}.gh-head-menu .nav a:hover{opacity:.9}.gh-head-menu .nav-more-toggle{position:relative;width:30px;height:30px;margin:0 -6px;padding:0;font-size:inherit;background-color:transparent;text-transform:inherit}.gh-head-menu .nav-more-toggle svg{width:24px;height:24px}@media (min-width:992px){body:not(.is-dropdown-loaded) .gh-head-menu .nav>li{opacity:0}}.gh-dropdown{position:absolute;top:100%;right:-16px;z-index:90;width:200px;padding:12px 0;margin-top:24px;opacity:0;visibility:hidden;text-align:left;background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 7px 20px -5px rgba(0,0,0,.15);transform:translate3d(0,6px,0);transition:opacity .3s,transform .2s}.is-head-middle-logo .gh-dropdown{right:auto;left:-24px}.is-dropdown-mega .gh-dropdown{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;-moz-column-gap:40px;column-gap:40px;min-width:320px;padding:20px 32px}.is-dropdown-open .gh-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.gh-head-menu .gh-dropdown li a{display:block;padding:6px 20px;color:#15171a}.is-dropdown-mega .gh-dropdown li a{padding:8px 0}.gh-social{display:flex;align-items:center;gap:20px}.gh-social-link{line-height:0;color:inherit}.gh-social-link:hover{opacity:.9}.gh-social-link svg{width:18px;height:18px}.gh-head-actions{display:flex;justify-content:flex-end;align-items:center;gap:24px;list-style:none;text-align:right}.gh-head-members{display:flex;gap:20px;align-items:center}.gh-head-link{font-weight:500;color:inherit}.gh-head-button{display:inline-flex;justify-content:center;align-items:center;padding:8px 20px;height:44px;font-weight:600;letter-spacing:-.005em;font-size:1.6rem;border-radius:48px;color:#fff;background:var(--ghost-accent-color)}.has-cover .gh-head-button{color:var(--color-darkgrey);background:#fff}@media (max-width:767px){.gh-head-members{flex-direction:column-reverse;gap:16px;width:100%}}.gh-search{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;cursor:pointer;background-color:transparent;border:0;outline:none}.gh-search:hover{opacity:.9}.gh-head-brand .gh-search{margin-right:8px}.gh-head-actions .gh-search{margin-right:-4px}@media (max-width:767px){.gh-head-actions .gh-search{display:none}}@media (min-width:768px){.gh-head-brand .gh-search{display:none}}.gh-burger{position:relative;display:none;width:30px;height:30px;padding:0;margin-right:-3px;cursor:pointer;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gh-burger:after,.gh-burger:before{position:absolute;left:3px;width:24px;height:1px;content:"";background-color:var(--color-darkgrey);transition:all .2s cubic-bezier(.04,.04,.12,.96) .1008s}.has-cover .gh-burger:after,.has-cover .gh-burger:before{background-color:#fff}.gh-burger:before{top:11px}.gh-burger:after{bottom:11px}.gh-head-open .gh-burger:before{top:15px;transform:rotate(45deg)}.gh-head-open .gh-burger:after{bottom:14px;transform:rotate(-45deg)}@media (max-width:767px){#gh-head{height:64px}#gh-head .gh-head-inner{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;gap:48px}#gh-head .gh-head-brand{display:grid;grid-template-columns:1fr auto auto;grid-column-start:1;align-items:center;height:64px}#gh-head .gh-head-logo{font-size:2.2rem}#gh-head .gh-head-brand .gh-search{margin-left:-6px}#gh-head .gh-burger{display:block}#gh-head .gh-head-actions,#gh-head .gh-head-menu{position:fixed;justify-content:center;visibility:hidden;opacity:0}#gh-head .gh-head-menu{margin:0;transition:none;transform:translateY(0)}#gh-head .nav{gap:16px;align-items:center;line-height:1.4}#gh-head .nav a{font-size:2.6rem;font-weight:600;text-transform:none}#gh-head .nav li{opacity:0;transform:translateY(-4px)}#gh-head :is(.gh-head-button,.gh-head-link){opacity:0;transform:translateY(8px)}#gh-head .gh-head-button{width:100%;font-size:1.8rem;text-transform:none;opacity:0;transform:translateY(8px)}.gh-head-open #gh-head{position:fixed;inset:0;z-index:3999999;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch}.gh-head-open.has-cover #gh-head,.gh-head-open.has-cover #gh-head .gh-head-actions{background-color:var(--ghost-accent-color)}.gh-head-open #gh-head .gh-head-actions,.gh-head-open #gh-head .gh-head-menu{position:static;visibility:visible;opacity:1}.gh-head-open #gh-head .nav{display:flex;flex-direction:column}.gh-head-open #gh-head .nav li{opacity:1;transition:transform .2s,opacity .2s;transform:translateY(0)}.gh-head-open #gh-head .gh-head-actions{position:sticky;right:0;bottom:0;left:0;display:inline-flex;flex-direction:column;gap:12px;align-items:center;padding:max(4vmin,20px) 0 max(4vmin,28px);background-color:#fff}.gh-head-open #gh-head :is(.gh-head-button,.gh-head-link){opacity:1;transition:transform .4s,opacity .4s;transition-delay:.2s;transform:translateY(0)}.gh-head-open #gh-head .gh-head-link{transition-delay:.4s}}.post-feed{position:relative;display:grid;gap:4.8vmin 4vmin;grid-template-columns:repeat(6,1fr);padding:max(4.8vmin,36px) 0 0}:is(.tag-template,.author-template) .post-feed{margin-top:4vmin}@media (max-width:991px){.post-feed{grid-template-columns:1fr 1fr}}@media (max-width:767px){.post-feed{grid-template-columns:1fr;grid-gap:40px}}.post-card{position:relative;grid-column:span 2;display:flex;flex-direction:column;background-size:cover;word-break:break-word}.post-card-image-link{position:relative;overflow:hidden;display:block;margin-bottom:32px}.post-card-image-link:after{content:"";display:block;padding-bottom:55%}.post-card[class*=post-access-] .post-card-image-link:after{background-color:rgba(0,0,0,.5);backdrop-filter:blur(3px)}.post-card.keep-ratio[class*=post-access-] .post-card-image-link:after{position:absolute;inset:0;padding-bottom:0}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link:after{padding-bottom:0}.post-card-image{position:absolute;inset:0;width:100%;height:100%;background:var(--color-lightgrey) no-repeat center center;-o-object-fit:cover;object-fit:cover}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image{position:static}.post-card-access{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:4px;font-size:1.5rem;font-weight:600;color:#fff}.post-card-content-link{position:relative;display:block;color:var(--color-darkgrey)}.post-card-content-link:hover{text-decoration:none}.post-feed .no-image .post-card-content-link{padding:0}.no-image .post-card-header{margin-top:0}.post-card-tags{display:flex;align-items:center;gap:12px;margin:0 0 10px;color:var(--color-secondary-text);font-size:1.4rem;font-weight:600;letter-spacing:-.005em;line-height:1}.post-card-featured{position:relative;display:flex;align-items:center;gap:3px;padding-left:18px;color:var(--ghost-accent-color)}.post-card-featured svg{position:absolute;left:0}.post-card-title{margin:0;font-size:2.6rem;font-weight:800;line-height:1.2}.post-card-content-link:hover .post-card-title{opacity:.9}.no-image .post-card-title{margin-top:0}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .post-card-title{font-family:var(--gh-font-heading,var(--font-serif));letter-spacing:-.005em}.post-card-title svg{margin-top:-3px;margin-left:-1px}.post-card-content{flex-grow:1;display:flex;flex-direction:column}.post-card-excerpt{display:-webkit-box;overflow-y:hidden;margin-top:12px;max-width:720px;font-size:1.6rem;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word}.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .post-card-excerpt{font-family:var(--gh-font-body,var(--font-sans))}.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt{-webkit-line-clamp:2}:is(.tag-template,.author-template) .post-card-excerpt{margin-top:6px}:is(.tag-template,.author-template) .post-card-large .post-card-excerpt{display:block;overflow-y:auto}.post-card-meta{margin-top:12px;padding:0;font-size:1.3rem;color:var(--color-secondary-text)}.post-card-meta,.post-card-meta>*{display:flex;align-items:center;gap:6px}.post-card-meta>*+:not(script):before{width:2px;height:2px;content:"";background-color:var(--color-secondary-text);border-radius:50%}.post-card-meta .sep{margin:0 4px}.author-profile-image{display:block;width:100%;height:100%;background:#1a1a1a;border-radius:100%;-o-object-fit:cover;object-fit:cover}.author-list{display:flex;margin:0 0 0 4px;padding:0;list-style:none}.author-list-item{position:relative;flex-shrink:0;margin:0;padding:0}@media (min-width:1001px){.post-card-large{grid-column:span 6;display:grid;grid-gap:4vmin;grid-template-columns:repeat(3,1fr);border-top:0}.post-card-large:not(.no-image) .post-card-header{margin-top:0}.post-card-large .post-card-image-link{position:relative;grid-column:span 2;margin-bottom:0}.post-card-large .post-card-content{grid-column:span 1}.post-card-large.no-image .post-card-content{grid-column:span 2}.post-card-large .post-card-image{position:absolute;width:100%;height:100%}.post-card-large .post-card-tags{margin-bottom:12px}.post-card-large .post-card-title{margin-top:0;font-size:4.4rem;line-height:1.05}.post-card-large .post-card-excerpt{margin-top:16px}.post-card-full{grid-column:span 6}.post-card-full .post-card-image-link{margin-bottom:40px}.post-card-full .post-card-tags{margin-bottom:14px}.post-card-full .post-card-title{font-size:6.4rem;line-height:.95}.post-card-full .post-card-excerpt{margin-top:20px;font-size:1.8rem}.post-card-large+.post-card-large:nth-child(2n){margin:32px 0}.post-card-large+.post-card-large:nth-child(2n) .post-card-content{order:-1}.post-card.dynamic{grid-column:span 3}.post-card.dynamic .post-card-title{font-size:3rem}}.pagination{display:none;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:8vmin}html.no-infinite-scroll .pagination{display:grid}.pagination a{font-size:1.7rem;font-weight:600}.pagination .page-number{grid-column-start:2;color:var(--color-secondary-text)}.pagination .older-posts{grid-column-start:3;text-align:right}@media (max-width:767px){.pagination .page-number{display:none}}.article{word-break:break-word}.post-template .article{padding:max(8vmin,40px) 0 max(8vmin,64px)}.post-template .article-header{padding:0 0 max(6.4vmin,40px)}.page-template .article-header{padding:max(12vmin,64px) 0 max(3.2vmin,28px)}.article-tag{margin-bottom:16px;font-size:1.6rem}.article-tag a{color:var(--color-secondary-text)}.article-title{margin-bottom:0;font-size:clamp(3.2rem,5vw,5.2rem);font-weight:800;line-height:1.05;color:var(--color-darkgrey)}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .article-title{font-family:var(--gh-font-heading,var(--font-serif))}.article-excerpt{margin-top:20px;max-width:720px;font-size:2rem;line-height:1.45;color:var(--color-darkgrey)}.gh-canvas .article-image{grid-column:wide-start/wide-end;width:100%;margin:max(6.4vmin,40px) 0 0}.image-full .article-image{grid-column:full-start/full-end}.image-small .article-image{grid-column:main-start/main-end}.gh-canvas .article-image img{display:block;margin-left:auto;margin-right:auto;width:100%}@media (max-width:767px){.article-excerpt{margin-top:14px;font-size:1.7rem}}.gh-canvas,.kg-width-full.kg-content-wide{--gap:max(4vmin, 20px);--main:min(var(--content-width, 720px), 100% - var(--gap) * 2);--wide:minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px))/2));--full:minmax(var(--gap), 1fr);display:grid;grid-template-columns:[full-start] var(--full) [wide-start] var(--wide) [main-start] var(--main) [main-end] var(--wide) [wide-end] var(--full) [full-end]}.gh-canvas>*{grid-column:main-start/main-end}.kg-content-wide>div,.kg-width-wide{grid-column:wide-start/wide-end}.kg-width-full{grid-column:full-start/full-end}.kg-width-full img{width:100%}.gh-content>*+*{margin-top:max(3.2vmin,24px);margin-bottom:0}.gh-content>.kg-width-full+.kg-width-full:not(.kg-width-full.kg-card-hascaption+.kg-width-full){margin-top:0}.gh-content>[id]{margin:0;color:var(--color-darkgrey)}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .gh-content>[id]{font-family:var(--gh-font-heading,var(--font-serif))}.gh-content>[id]:not(:first-child){margin:2em 0 0}.gh-content>[id]+*{margin-top:1.5rem!important}.gh-content>blockquote,.gh-content>hr{position:relative;margin-top:max(4.8vmin,32px)}.gh-content>blockquote+*,.gh-content>hr+*{margin-top:max(4.8vmin,32px)!important}.gh-content a{color:var(--ghost-accent-color);text-decoration:underline;word-break:break-word}.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-family:var(--gh-font-body,var(--font-serif));font-weight:400;font-size:2rem;line-height:1.6em}.gh-content>p img{margin:0 auto}.page-template .gh-content:only-child>:first-child:not(.kg-width-full){margin-top:max(12vmin,64px)}.page-template .gh-content>:last-child:not(.kg-width-full){margin-bottom:max(12vmin,64px)}.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul{font-family:var(--font-serif);font-weight:400;font-size:1.9rem;line-height:1.6em}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.7rem;line-height:1.6em}.gh-content .kg-callout-card .kg-callout-emoji{font-size:2.1rem;line-height:1.4em}.gh-content .kg-toggle-card .kg-toggle-heading-text{font-size:2rem}.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-callout-card .kg-callout-text,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-toggle-card .kg-toggle-content>ol,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-toggle-card .kg-toggle-content>p,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-toggle-card .kg-toggle-content>ul,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>blockquote,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>dl,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>ol,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>p,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>ul{font-family:var(--gh-font-body,var(--font-sans))}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>ul,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>dl,.gh-content>ol,.gh-content>ul{padding-left:1.9em}.gh-content>blockquote:not([class]){position:relative;font-style:italic;padding:0}.gh-content>blockquote:not([class]):before{content:"";position:absolute;left:-1.5em;top:0;bottom:0;width:.3rem;background:var(--ghost-accent-color)}.gh-content :not(pre)>code{vertical-align:middle;padding:.15em .4em;border:1px solid #e1eaef;font-weight:400!important;font-size:.9em;line-height:1em;color:#15171a;background:#f0f6f9;border-radius:.25em}.gh-content pre{overflow:auto;padding:16px 20px;color:var(--color-wash);font-size:1.4rem;line-height:1.5em;background:var(--color-darkgrey);border-radius:5px;box-shadow:0 2px 6px -2px rgba(0,0,0,.1),0 0 1px rgba(0,0,0,.4)}.gh-content ol ol li{list-style-type:lower-alpha}.gh-content ol ol ol li{list-style-type:lower-roman}@media (max-width:650px){.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-size:1.8rem}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.6rem}.gh-content blockquote:not([class]):before{left:min(-4vmin,-20px)}}.gh-content .kg-card+:not(.kg-card),.gh-content :not(.kg-card):not([id])+.kg-card{margin-top:6vmin}.kg-embed-card{display:flex;flex-direction:column;align-items:center;width:100%}.gh-content iframe[src*="kickstarter.com"],.gh-content iframe[src*="player.vimeo.com"],.gh-content iframe[src*="youtube-nocookie.com"],.gh-content iframe[src*="youtube.com"],.kg-embed-card iframe[src*="kickstarter.com"],.kg-embed-card iframe[src*="player.vimeo.com"],.kg-embed-card iframe[src*="youtube-nocookie.com"],.kg-embed-card iframe[src*="youtube.com"]{aspect-ratio:16/9;width:100%;height:auto}.kg-image-card img{margin:auto}.kg-gallery-image,.kg-image[width][height]{cursor:pointer}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .kg-toggle-card .kg-toggle-heading-text{font-family:var(--gh-font-heading,var(--font-serif))}.gh-content .kg-callout-card-accent a{text-decoration:underline}.kg-blockquote-alt{font-family:var(--font-serif);color:var(--color-midgrey)}.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .kg-blockquote-alt{font-family:var(--gh-font-body,var(--font-sans))}.kg-card.kg-header-card.kg-style-dark{background:var(--color-darkgrey)}.kg-header-card.kg-style-light h2.kg-header-card-header{color:#000}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .kg-header-card h2.kg-header-card-header{font-family:var(--gh-font-heading,var(--font-serif))}figcaption{padding:1.5rem 1.5rem 0;text-align:center;color:rgba(0,0,0,.5);font-size:1.3rem;line-height:1.4em}figcaption strong{color:rgba(0,0,0,.8)}figcaption a{text-decoration:underline}iframe.instagram-media{margin:6vmin auto 0!important}iframe.instagram-media+script+:not([id]){margin-top:6vmin}.kg-width-full.kg-card-hascaption{display:grid;grid-template-columns:inherit}.kg-width-wide.kg-card-hascaption img{grid-column:wide-start/wide-end}.kg-width-full.kg-card-hascaption img{grid-column:1/-1}.kg-width-full.kg-card-hascaption figcaption{grid-column:main-start/main-end}.article-comments{margin:6vmin 0 0}.footnotes-sep{margin-bottom:30px}.footnotes{font-size:1.5rem}.footnotes p{margin:0}.footnote-backref{font-size:1.2rem;font-weight:700;text-decoration:none!important;box-shadow:none!important}.gh-content table:not(.gist table){display:inline-block;overflow-x:auto;max-width:100%;width:auto;border-spacing:0;border-collapse:collapse;font-family:var(--font-sans);font-size:1.6rem;white-space:nowrap;vertical-align:top;-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse at left,rgba(0,0,0,.2) 0,transparent 75%) 0,radial-gradient(ellipse at right,rgba(0,0,0,.2) 0,transparent 75%) 100%;background-attachment:scroll,scroll;background-size:10px 100%,10px 100%;background-repeat:no-repeat}.gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(90deg,#fff 50%,hsla(0,0%,100%,0));background-size:20px 100%;background-repeat:no-repeat}.gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(270deg,#fff 50%,hsla(0,0%,100%,0));background-position:100% 0;background-size:20px 100%;background-repeat:no-repeat}.gh-content table:not(.gist table) th{color:var(--color-darkgrey);font-size:1.2rem;font-weight:700;letter-spacing:.2px;text-align:left;text-transform:uppercase;background-color:#f4f8fb}.gh-content table:not(.gist table) td,.gh-content table:not(.gist table) th{padding:6px 12px;border:1px solid #e3edf3}.article-byline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:min(24px,5.6vmin) 0 0}.gh-button-share{display:inline-flex;align-items:center;flex-shrink:0;padding:.5em 1.2em;font-size:1.4rem;font-weight:600;border:1px solid rgba(0,0,0,.15);border-radius:999px;color:rgba(0,0,0,.85);background:transparent;cursor:pointer;transition:all .4s ease;white-space:nowrap;text-decoration:none}.gh-button-share:hover{border-color:rgba(0,0,0,.5)}html.dark-mode .gh-button-share{color:hsla(0,0%,100%,.85);border-color:hsla(0,0%,100%,.15)}html.dark-mode .gh-button-share:hover{border-color:hsla(0,0%,100%,.5)}.article-byline-content{flex-grow:1;display:flex;align-items:center}.article-byline-content .author-list{justify-content:flex-start;padding:0 14px 0 0}.article-byline-meta{color:var(--color-secondary-text);font-size:1.4rem;line-height:1.2em}.article-byline-meta .author-name{margin:0 0 6px;font-size:1.7rem;font-weight:700;letter-spacing:0}.article-byline-meta .bull{display:inline-block;margin:0 2px}.author-avatar{display:block;overflow:hidden;margin:0 -4px;width:min(56px,13.6vmin);height:min(56px,13.6vmin);border:2px solid #fff;border-radius:50%;background-color:var(--color-border)}.page-template .article-title{margin-bottom:0}@media (max-width:767px){.article-byline-content{flex-direction:column;align-items:flex-start;gap:16px}.article-byline-content .author-list{padding-right:12px}.article-byline-meta .author-name{margin-bottom:4px}}.footer-cta{position:relative;text-align:center}.footer-cta-title{margin:0 0 min(24px,6.4vmin);font-size:clamp(2.6rem,5vw,3.8rem);font-weight:800}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .footer-cta-title{font-family:var(--gh-font-heading,var(--font-serif))}.footer-cta-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:100%;max-width:500px;padding:5px 5px 5px 15px;font-size:1.7rem;color:var(--color-secondary-text);background:#fff;border:1px solid var(--color-border);border-radius:8px;transition:border-color .2s}.footer-cta-button:hover{border-color:#000}.footer-cta-button span{display:inline-block;padding:9px 15px;color:#fff;font-size:1.6rem;font-weight:600;letter-spacing:-.005em;background:var(--ghost-accent-color);border-radius:6px}.read-more-wrap{margin-top:2.4vmin}.footer-cta+.read-more-wrap{margin-top:max(12vmin,72px)}.read-more{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4vmin}.read-more .post-card-tags{display:none}@media (max-width:1000px){.read-more{grid-template-columns:repeat(4,1fr)}.read-more .post-card:nth-child(3){display:none}}@media (max-width:700px){.read-more{grid-template-columns:repeat(2,1fr)}.read-more .post-card:nth-child(2){display:none}}.comments{display:flex;flex-direction:column;align-items:center;margin:60px 0 44px}.comments-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;width:100%;max-width:720px}.comments h2{width:100%;max-width:720px;font-weight:800;font-size:3.4rem}.comments .comment-count{color:var(--color-midgrey);font-weight:600;white-space:nowrap}.comments #ghost-comments-root{width:100%;max-width:720px}.author-profile-pic{display:block;width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin:0 0 2rem;background:#1a1a1a;border-radius:50%}.author-profile-footer{margin-top:16px}.author-profile-location{font-weight:700}.author-profile-meta{display:flex;gap:12px}.author-profile-social-link{font-size:1.3rem;color:var(--color-secondary-text)}.author-profile-social-link:hover{color:var(--color-darkgrey)}.author-profile-social-link svg{width:16px;height:16px}@media (min-width:1001px){.author-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.tag-template .post-card-large .post-card-image-link{grid-column:2/span 2;order:2}.tag-template .post-card-large .post-card-content{order:1}@media (min-width:1001px){.tag-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.error-content{padding:14vw 4vw 2vw}.error-message{padding-bottom:10vw;text-align:center}.error-code{margin:0;font-size:12vw;line-height:1em;letter-spacing:-5px}.error-description{margin:0;color:var(--color-secondary-text);font-size:3.2rem;line-height:1.3em;letter-spacing:-.005em;font-weight:400}.error-link{display:inline-block;margin-top:5px}@media (min-width:940px){.error-content .post-card{margin-bottom:0;padding-bottom:0;border-bottom:none}}@media (max-width:800px){.error-content{padding-top:24vw}.error-code{font-size:11.2rem}.error-message{padding-bottom:16vw}.error-description{margin:5px 0 0;font-size:1.8rem}}@media (max-width:500px){.error-content{padding-top:28vw}.error-message{padding-bottom:14vw}}.site-footer{position:relative;margin:max(12vmin,64px) 0 0;padding-top:48px;padding-bottom:140px;color:#fff;background:#000}.page-template .site-footer{margin-top:0}.site-footer .inner{display:grid;grid-gap:40px;grid-template-columns:auto 1fr auto;align-items:center;color:hsla(0,0%,100%,.7);font-size:1.3rem}.site-footer-center{display:flex;flex-direction:column;align-items:center;gap:16px}.site-footer-social-links{display:flex;gap:20px}.site-footer-social-links a{display:inline-flex}.site-footer-social-links svg{width:16px;height:16px}.site-footer .copyright a{color:#fff;letter-spacing:-.015em;font-weight:500}.site-footer a{color:hsla(0,0%,100%,.7)}.site-footer a:hover{color:#fff;text-decoration:none}.site-footer-nav ul{display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}.site-footer-nav li{display:inline-flex;align-items:center;padding:0;margin:0;line-height:2em}.site-footer-nav a{position:relative;display:inline-flex;align-items:center;margin-left:10px}.site-footer-nav li:not(:first-child) a:before{content:"";display:block;width:2px;height:2px;margin:0 10px 0 0;background:#fff;border-radius:100%}@media (max-width:767px){.site-footer .inner{max-width:500px;grid-template-columns:1fr;grid-gap:0;text-align:center}.site-footer .copyright,.site-footer .copyright a{color:#fff;font-size:1.5rem}.site-footer .copyright,.site-footer-center{margin-bottom:16px}}html.dark-mode body{color:hsla(0,0%,100%,.75);background:var(--color-darkmode)}html.dark-mode img{opacity:.9}html.dark-mode kbd{background:#0c0d0e}html.dark-mode figcaption a{color:#fff}html.dark-mode body:not(.has-cover) .gh-head{background:var(--color-darkmode);color:#fff}html.dark-mode .gh-burger:after,html.dark-mode .gh-burger:before{background-color:#fff}html.dark-mode .site-header-content{color:#fff}html.dark-mode .site-header-cover{opacity:1}html.dark-mode .post-card-image{background:var(--color-darkmode)}html.dark-mode :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content,.pagination .page-number){color:var(--color-secondary-text)}html.dark-mode .post-card-featured,html.dark-mode .post-card-title{color:#fff}html.dark-mode .post-card-excerpt{color:var(--color-secondary-text)}html.dark-mode .article-title,html.dark-mode .author-profile-location,html.dark-mode .author-profile-social-link:hover,html.dark-mode .pagination a{color:#fff}html.dark-mode .article-excerpt{color:var(--color-secondary-text)}html.dark-mode .post-full-image{background-color:#131416}html.dark-mode .author-avatar{border-color:var(--color-darkmode);background-color:#131416}html.dark-mode .author-profile-image{opacity:1}html.dark-mode .author-profile-image path{fill:var(--color-darkmode)}html.dark-mode .article-byline-meta .author-name a{color:#fff}html.dark-mode .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.dark-mode .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.dark-mode .gh-content pre{background:#000}html.dark-mode .gh-content :not(pre)>code{background:#0e0f11;border-color:#131416;color:var(--color-wash)}:where(html.dark-mode) .gh-content a{color:#fff}html.dark-mode .gh-content code{color:#fff;background:#000}html.dark-mode hr{border-top-color:#424242}html.dark-mode .gh-content hr:after{background:#131416;box-shadow:var(--color-darkmode) 0 0 0 5px}html.dark-mode figcaption{color:hsla(0,0%,100%,.6)}html.dark-mode .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) th{color:hsla(0,0%,100%,.85);background-color:#282b2f}html.dark-mode .gh-content table:not(.gist table) td,html.dark-mode .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.dark-mode .gh-content :is(input,textarea){color:#000}html.dark-mode .site-archive-header .no-image{color:hsla(0,0%,100%,.9);background:var(--color-darkmode)}html.dark-mode .kg-header-card.kg-style-dark{background:#000}html.dark-mode .kg-header-card.kg-style-light{background:#0b0c0e}html.dark-mode .kg-header-card h2.kg-header-card-header,html.dark-mode .kg-header-card h3.kg-header-card-subheader{color:#fff}html.dark-mode .kg-bookmark-card a.kg-bookmark-container,html.dark-mode .kg-bookmark-card a.kg-bookmark-container:hover{background:var(--color-darkmode)!important;color:#fff!important}html.dark-mode .footer-cta-title{color:#fff}@media (max-width:767px){html.dark-mode .gh-head-open:not(.has-cover) #gh-head,html.dark-mode .gh-head-open:not(.has-cover) #gh-head .gh-head-actions{background:var(--color-darkmode)}}@media (prefers-color-scheme:dark){html.auto-color body{color:hsla(0,0%,100%,.75);background:var(--color-darkmode)}html.auto-color img{opacity:.9}html.auto-color kbd{background:#0c0d0e}html.auto-color figcaption a{color:#fff}html.auto-color body:not(.has-cover) .gh-head{background:var(--color-darkmode);color:#fff}html.auto-color .gh-burger:after,html.auto-color .gh-burger:before{background-color:#fff}html.auto-color .site-header-content{color:#fff}html.auto-color .site-header-cover{opacity:1}html.auto-color .post-card-image{background:var(--color-darkmode)}html.auto-color :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content,.pagination .page-number){color:var(--color-secondary-text)}html.auto-color .post-card-featured,html.auto-color .post-card-title{color:#fff}html.auto-color .post-card-excerpt{color:var(--color-secondary-text)}html.auto-color .article-title,html.auto-color .author-profile-location,html.auto-color .author-profile-social-link:hover,html.auto-color .pagination a{color:#fff}html.auto-color .article-excerpt{color:var(--color-secondary-text)}html.auto-color .post-full-image{background-color:#131416}html.auto-color .author-avatar{border-color:var(--color-darkmode);background-color:#131416}html.auto-color .author-profile-image{opacity:1}html.auto-color .author-profile-image path{fill:var(--color-darkmode)}html.auto-color .article-byline-meta .author-name a{color:#fff}html.auto-color .gh-button-share{color:hsla(0,0%,100%,.85);border-color:hsla(0,0%,100%,.15)}html.auto-color .gh-button-share:hover{border-color:hsla(0,0%,100%,.5)}html.auto-color .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.auto-color .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.auto-color .gh-content pre{background:#000}html.auto-color .gh-content :not(pre)>code{background:#0e0f11;border-color:#131416;color:var(--color-wash)}:where(html.auto-color) .gh-content a{color:#fff}html.auto-color .gh-content code{color:#fff;background:#000}html.auto-color hr{border-top-color:#424242}html.auto-color .gh-content hr:after{background:#131416;box-shadow:var(--color-darkmode) 0 0 0 5px}html.auto-color figcaption{color:hsla(0,0%,100%,.6)}html.auto-color .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) th{color:hsla(0,0%,100%,.85);background-color:#282b2f}html.auto-color .gh-content table:not(.gist table) td,html.auto-color .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.auto-color .gh-content :is(input,textarea){color:#000}html.auto-color .site-archive-header .no-image{color:hsla(0,0%,100%,.9);background:var(--color-darkmode)}html.auto-color .kg-header-card.kg-style-dark{background:#000}html.auto-color .kg-header-card.kg-style-light{background:#0b0c0e}html.auto-color .kg-header-card h2.kg-header-card-header,html.auto-color .kg-header-card h3.kg-header-card-subheader{color:#fff}html.auto-color .kg-bookmark-card a.kg-bookmark-container,html.auto-color .kg-bookmark-card a.kg-bookmark-container:hover{background:var(--color-darkmode)!important;color:#fff!important}html.auto-color .footer-cta-title{color:#fff}@media (max-width:767px){html.auto-color .gh-head-open:not(.has-cover) #gh-head,html.auto-color .gh-head-open:not(.has-cover) #gh-head .gh-head-actions{background:var(--color-darkmode)}}}.pswp{position:absolute;top:0;left:0;z-index:3999999;display:none;width:100%;height:100%;overflow:hidden;touch-action:none;outline:none;backface-visibility:hidden;-webkit-text-size-adjust:100%}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:grab}.pswp--dragging .pswp__img{cursor:grabbing}.pswp__bg{background-color:rgba(0,0,0,.85);opacity:0;transition:opacity 333ms cubic-bezier(.4,0,.22,1);transform:translateZ(0);backface-visibility:hidden;will-change:opacity}.pswp__bg,.pswp__scroll-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__scroll-wrap{overflow:hidden}.pswp__container,.pswp__zoom-wrap{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;backface-visibility:hidden}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;width:100%;transition:transform 333ms cubic-bezier(.4,0,.22,1);transform-origin:left top}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{transition:none}.pswp__item{right:0;bottom:0;overflow:hidden}.pswp__img,.pswp__item{position:absolute;top:0;left:0}.pswp__img{width:auto;height:auto}.pswp__img--placeholder{backface-visibility:hidden}.pswp__img--placeholder--blank{background:#000}.pswp--ie .pswp__img{top:0;left:0;width:100%!important;height:auto!important}.pswp__error-msg{position:absolute;top:50%;left:0;width:100%;margin-top:-8px;font-size:14px;line-height:16px;color:var(--color-secondary-text);text-align:center}.pswp__error-msg a{color:var(--color-secondary-text);text-decoration:underline}.pswp__button{position:relative;display:block;float:right;width:44px;height:44px;padding:0;margin:0;overflow:visible;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:none;border:0;box-shadow:none;transition:opacity .2s}.pswp__button:focus,.pswp__button:hover{opacity:1}.pswp__button:active{outline:none;opacity:.9}.pswp__button::-moz-focus-inner{padding:0;border:0}.pswp__ui--over-close .pswp__button--close{opacity:1}.pswp__button,.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{width:44px;height:44px;background:url(../images/default-skin.png) 0 0 no-repeat;background-size:264px 88px}@media (min-resolution:1.1dppx),(min-resolution:105dpi){.pswp--svg .pswp__button,.pswp--svg .pswp__button--arrow--left:before,.pswp--svg .pswp__button--arrow--right:before{background-image:url(../images/default-skin.svg)}.pswp--svg .pswp__button--arrow--left,.pswp--svg .pswp__button--arrow--right{background:none}}.pswp__button--close{background-position:0 -44px}.pswp__button--share{background-position:-44px -44px}.pswp__button--fs{display:none}.pswp--supports-fs .pswp__button--fs{display:block}.pswp--fs .pswp__button--fs{background-position:-44px 0}.pswp__button--zoom{display:none;background-position:-88px 0}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__button--zoom{background-position:-132px 0}.pswp--touch .pswp__button--arrow--left,.pswp--touch .pswp__button--arrow--right{visibility:hidden}.pswp__button--arrow--left,.pswp__button--arrow--right{position:absolute;top:50%;width:70px;height:100px;margin-top:-50px;background:none}.pswp__button--arrow--left{left:0}.pswp__button--arrow--right{right:0}.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{position:absolute;top:35px;width:32px;height:30px;content:""}.pswp__button--arrow--left:before{left:6px;background-position:-138px -44px}.pswp__button--arrow--right:before{right:6px;background-position:-94px -44px}.pswp__counter{position:absolute;top:0;left:0;height:44px;padding:0 15px;font-size:11px;font-weight:700;line-height:44px;color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__caption{position:absolute;bottom:0;left:0;width:100%;min-height:44px}.pswp__caption__center{max-width:420px;padding:25px 15px 30px;margin:0 auto;font-size:11px;line-height:1.6;color:#fff;text-align:center}.pswp__caption__center .post-caption-title{margin-bottom:7px;font-size:15px;font-weight:500;text-transform:uppercase}.pswp__caption__center .post-caption-meta-item+.post-caption-meta-item:before{padding:0 4px;content:"\02022"}.pswp__caption--empty{display:none}.pswp__caption--fake{visibility:hidden}.pswp__preloader{position:absolute;top:0;left:50%;width:44px;height:44px;margin-left:-22px;opacity:0;transition:opacity .25s ease-out;direction:ltr;will-change:opacity}.pswp__preloader__icn{width:20px;height:20px;margin:12px}.pswp__preloader--active{opacity:1}.pswp__preloader--active .pswp__preloader__icn{background:url(../images/preloader.gif) 0 0 no-repeat}.pswp--css_animation .pswp__preloader--active{opacity:1}.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn{animation:clockwise .5s linear infinite}.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut{animation:donut-rotate 1s cubic-bezier(.4,0,.22,1) infinite}.pswp--css_animation .pswp__preloader__icn{position:absolute;top:15px;left:15px;width:14px;height:14px;margin:0;background:none;opacity:.75}.pswp--css_animation .pswp__preloader__cut{position:relative;width:7px;height:14px;overflow:hidden}.pswp--css_animation .pswp__preloader__donut{position:absolute;top:0;left:0;box-sizing:border-box;width:14px;height:14px;margin:0;background:none;border-color:#fff #fff transparent transparent;border-style:solid;border-width:2px;border-radius:50%}@media screen and (max-width:1024px){.pswp__preloader{position:relative;top:auto;left:auto;float:right;margin:0}}@keyframes clockwise{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes donut-rotate{0%{transform:rotate(0)}50%{transform:rotate(-140deg)}to{transform:rotate(0)}}.pswp__ui{z-index:1550;visibility:visible;opacity:1;-webkit-font-smoothing:auto}.pswp__top-bar{position:absolute;top:0;left:0;width:100%;height:44px}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right,.pswp__caption,.pswp__top-bar{backface-visibility:hidden;transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right{visibility:visible}.pswp__ui--idle .pswp__button--arrow--left,.pswp__ui--idle .pswp__button--arrow--right,.pswp__ui--idle .pswp__top-bar{opacity:0}.pswp__ui--hidden .pswp__button--arrow--left,.pswp__ui--hidden .pswp__button--arrow--right,.pswp__ui--hidden .pswp__caption,.pswp__ui--hidden .pswp__top-bar{opacity:.001}.pswp__ui--one-slide .pswp__button--arrow--left,.pswp__ui--one-slide .pswp__button--arrow--right,.pswp__ui--one-slide .pswp__counter{display:none}.pswp__element--disabled{display:none!important}.pswp--minimal--dark .pswp__top-bar{background:none}/*# sourceMappingURL=screen.css.map */
|
|
1
|
+
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;max-width:100%;height:auto}html{box-sizing:border-box;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{margin:.67em 0;font-size:2em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{padding:3px 5px;font-family:var(--font-mono);font-size:1.5rem;background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25)}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit}button{overflow:visible;border:none}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{padding:0;border:0}textarea{overflow:auto}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{color:var(--color-darkgrey);font-family:var(--gh-font-body,var(--font-sans));font-size:1.6rem;line-height:1.6em;font-weight:400;font-style:normal;letter-spacing:0;text-rendering:optimizeLegibility;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on}::-moz-selection{text-shadow:none;background:#daf2fd}::selection{text-shadow:none;background:#daf2fd}hr{position:relative;display:block;width:100%;margin:2.5em 0 3.5em;padding:0;height:1px;border:0;border-top:1px solid #f0f0f0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{margin:0;padding:0;border:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0}ol,ul{max-width:100%}li{padding-left:.3em;line-height:1.6em}li+li{margin-top:.5em}dt{float:left;margin:0 20px 0 0;width:120px;color:#daf2fd;font-weight:500;text-align:right}dd{margin:0 0 5px;text-align:left}sub,sup{line-height:1}blockquote{margin:1.5em 0;padding:0 1.6em;border-left:#daf2fd}blockquote small{display:inline-block;margin:.8em 0 .8em 1.5em;font-size:.9em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.15;font-family:var(--gh-font-heading,var(--font-sans));font-weight:600;text-rendering:optimizeLegibility;letter-spacing:-.01em}h1{margin:0 0 .5em;font-size:4.8rem;font-weight:700;letter-spacing:-.015em}@media (max-width:600px){h1{font-size:2.8rem}}h2{margin:1.5em 0 .5em;font-size:2.8rem;font-weight:700}@media (max-width:600px){h2{font-size:2.3rem}}h3{margin:1.5em 0 .5em;font-size:2.4rem;font-weight:600}@media (max-width:600px){h3{font-size:1.7rem}}h4{margin:1.5em 0 .5em;font-size:2rem}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}:root{--color-green:#a4d037;--color-yellow:#fecd35;--color-red:#f05230;--color-darkgrey:#15171a;--color-midgrey:#738a94;--color-lightgrey:#f1f1f1;--color-secondary-text:#979797;--color-border:#e1e1e1;--color-wash:#e5eff5;--color-darkmode:#151719;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-serif:Georgia, Times, serif;--font-mono:Menlo, Courier, monospace}.viewport{position:relative;display:flex;flex-direction:column;min-height:100vh}.site-content{flex-grow:1}.outer{position:relative;padding:0 max(4vmin,20px)}.inner{margin:0 auto;max-width:1200px;width:100%}.site-header{position:relative;color:#fff;background:var(--ghost-accent-color)}.site-header-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.site-header-content{position:relative;z-index:100;display:flex;align-items:center;padding-top:calc(19vmin + 44px);padding-bottom:19vmin;text-align:center;color:var(--color-darkgrey)}.has-cover .site-header-content{min-height:560px;background-color:var(--ghost-accent-color);color:#fff}.site-header-content.left-aligned{padding-bottom:0;text-align:left}.has-cover .site-header-content.left-aligned{align-items:flex-end;padding-bottom:max(4vmin,32px)}.site-header-content.no-content{padding-top:0;padding-bottom:2vmin}.site-header-inner{position:relative}.site-header-content.left-aligned .site-header-inner{align-items:flex-start}.site-logo{flex-shrink:0;margin:0 auto;max-height:120px}.site-header-content.left-aligned .site-logo{margin-right:auto;margin-left:0;max-height:96px}.site-title{z-index:10;margin:0;padding:0;font-size:5rem;font-weight:800}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .site-title{font-family:var(--gh-font-heading,var(--font-serif))}.has-cover .site-title{font-size:6rem}.site-header-content.left-aligned .site-title{font-size:4.4rem}.has-cover .site-header-content.left-aligned .site-title{font-size:4.6rem}.site-description{display:inline-block;z-index:10;max-width:960px;font-size:6rem;font-weight:700;line-height:1.1}.site-description:first-child{font-family:var(--gh-font-heading,var(--font-sans))}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .site-description:first-child{font-family:var(--gh-font-heading,var(--font-serif))}:is(.site-logo,.site-title)+.site-description{max-width:640px;margin-top:16px;font-size:2.4rem;font-weight:400;line-height:1.4}.site-logo+.site-description{margin-top:20px}.site-title+.site-description{color:var(--color-secondary-text)}.has-cover .site-description{letter-spacing:-.005em;color:#fff}.has-cover :is(.site-logo,.site-title)+.site-description{font-size:2.4rem}.has-cover .site-header-content.left-aligned :is(.site-logo,.site-title)+.site-description{font-size:2.2rem}@media (min-width:992px){.is-head-stacked.has-cover .site-header-content{padding-top:calc(19vmin + 120px)}}@media (max-width:991px){.site-header-content{padding-top:calc(19vmin + 32px)}}@media (max-width:767px){.has-cover .site-header-content{min-height:240px}.site-header-inner{gap:16px}.site-logo{max-width:60%}.site-title{font-size:3.4rem!important}.site-description{font-size:2.2rem!important}.site-logo+.site-description,.site-title+.site-description{margin-top:12px!important}}.gh-head{height:88px;font-size:1.6rem;line-height:1.3em;background-color:#fff;z-index:150}.has-cover:not(.home-template) .gh-head{background-color:var(--ghost-accent-color);color:#fff}:is(.home-template,.paged:not(.tag-template):not(.author-template)).has-cover .gh-head{position:absolute;top:0;right:0;left:0;z-index:2000;background-color:transparent;color:#fff}.gh-head a{text-decoration:none}.gh-head-inner{display:grid;-moz-column-gap:40px;column-gap:40px;grid-auto-flow:row dense;align-items:center;height:100%}.gh-head-inner,.is-head-left-logo .gh-head-inner{grid-template-columns:auto 1fr auto}.is-head-left-logo.home-template .gh-head:not(.is-header-hidden) .gh-head-logo{display:none}.is-head-left-logo.home-template .gh-head:not(.is-header-hidden) .gh-head-menu{margin-left:-40px}@media (min-width:992px){.is-head-left-logo .gh-head-menu{margin-right:64px;margin-left:16px}}.is-head-middle-logo .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-middle-logo .gh-head-brand{grid-column-start:2}@media (min-width:992px){.is-head-middle-logo .gh-head-menu{margin-right:64px}}.is-head-stacked .gh-head{height:auto}.is-head-stacked .gh-head-inner{grid-template-columns:1fr auto 1fr}.is-head-stacked .gh-head-brand{grid-row-start:1;grid-column-start:2}@media (min-width:992px){.is-head-stacked .gh-head-inner{padding:0}.is-head-stacked .gh-head-brand{position:relative;display:flex;align-items:center;height:80px}.is-head-stacked .gh-head-menu{grid-row-start:2;grid-column:1/4;justify-content:center;height:56px;margin:0 48px}.is-head-stacked .gh-head-menu:after,.is-head-stacked .gh-head-menu:before{position:absolute;top:80px;left:0;width:100%;height:1px;content:"";background-color:var(--color-lightgrey)}.is-head-stacked.has-cover .gh-head-menu:after,.is-head-stacked.has-cover .gh-head-menu:before{background-color:hsla(0,0%,100%,.2)}.is-head-stacked .gh-head-menu:after{top:136px}.is-head-stacked .gh-head-actions{grid-row-start:1;grid-column:1/4;justify-content:space-between}}.gh-head-brand{display:flex;align-items:center;height:40px;word-break:break-all}.gh-head-logo{display:block;font-family:var(--gh-font-heading,var(--font-sans));font-weight:800;font-size:2.6rem;letter-spacing:-.02em;color:inherit;white-space:nowrap}.gh-head-logo.no-image{margin-top:-5px}.has-cover .gh-head-logo{color:#fff}.gh-head-logo img{max-height:40px}.gh-head-menu{display:flex;align-items:center;margin-top:1px;font-weight:500}.gh-head-menu .nav{flex-wrap:wrap;gap:32px;list-style:none;margin:0;padding:0}.gh-head-menu .nav,.nav a{display:inline-flex;align-items:center}.nav a{gap:.35em;vertical-align:middle}.nav-icon{display:block;width:1em;height:1em;flex:0 0 auto;-o-object-fit:contain;object-fit:contain}.gh-head-menu .nav li{margin:0;padding:0}.gh-head-menu .nav a{line-height:1.7;color:inherit}.gh-head-menu .nav a:hover{opacity:.9}.gh-head-menu .nav-more-toggle{position:relative;width:30px;height:30px;margin:0 -6px;padding:0;font-size:inherit;background-color:transparent;text-transform:inherit}.gh-head-menu .nav-more-toggle svg{width:24px;height:24px}@media (min-width:992px){body:not(.is-dropdown-loaded) .gh-head-menu .nav>li{opacity:0}}.gh-dropdown{position:absolute;top:100%;right:-16px;z-index:90;width:200px;padding:12px 0;margin-top:24px;opacity:0;visibility:hidden;text-align:left;background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 7px 20px -5px rgba(0,0,0,.15);transform:translate3d(0,6px,0);transition:opacity .3s,transform .2s}.is-head-middle-logo .gh-dropdown{right:auto;left:-24px}.is-dropdown-mega .gh-dropdown{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;-moz-column-gap:40px;column-gap:40px;min-width:320px;padding:20px 32px}.is-dropdown-open .gh-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.gh-head-menu .gh-dropdown li a{display:block;padding:6px 20px;color:#15171a}.is-dropdown-mega .gh-dropdown li a{padding:8px 0}.gh-social{display:flex;align-items:center;gap:20px}.gh-social-link{line-height:0;color:inherit}.gh-social-link:hover{opacity:.9}.gh-social-link svg{width:18px;height:18px}.gh-head-actions{display:flex;justify-content:flex-end;align-items:center;gap:24px;list-style:none;text-align:right}.gh-head-members{display:flex;gap:20px;align-items:center}.gh-head-link{font-weight:500;color:inherit}.gh-head-button{display:inline-flex;justify-content:center;align-items:center;padding:8px 20px;height:44px;font-weight:600;letter-spacing:-.005em;font-size:1.6rem;border-radius:48px;color:#fff;background:var(--ghost-accent-color)}.has-cover .gh-head-button{color:var(--color-darkgrey);background:#fff}@media (max-width:767px){.gh-head-members{flex-direction:column-reverse;gap:16px;width:100%}}.gh-search{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;cursor:pointer;background-color:transparent;border:0;outline:none}.gh-search:hover{opacity:.9}.gh-head-brand .gh-search{margin-right:8px}.gh-head-actions .gh-search{margin-right:-4px}@media (max-width:767px){.gh-head-actions .gh-search{display:none}}@media (min-width:768px){.gh-head-brand .gh-search{display:none}}.gh-burger{position:relative;display:none;width:30px;height:30px;padding:0;margin-right:-3px;cursor:pointer;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gh-burger:after,.gh-burger:before{position:absolute;left:3px;width:24px;height:1px;content:"";background-color:var(--color-darkgrey);transition:all .2s cubic-bezier(.04,.04,.12,.96) .1008s}.has-cover .gh-burger:after,.has-cover .gh-burger:before{background-color:#fff}.gh-burger:before{top:11px}.gh-burger:after{bottom:11px}.gh-head-open .gh-burger:before{top:15px;transform:rotate(45deg)}.gh-head-open .gh-burger:after{bottom:14px;transform:rotate(-45deg)}@media (max-width:767px){#gh-head{height:64px}#gh-head .gh-head-inner{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;gap:48px}#gh-head .gh-head-brand{display:grid;grid-template-columns:1fr auto auto;grid-column-start:1;align-items:center;height:64px}#gh-head .gh-head-logo{font-size:2.2rem}#gh-head .gh-head-brand .gh-search{margin-left:-6px}#gh-head .gh-burger{display:block}#gh-head .gh-head-actions,#gh-head .gh-head-menu{position:fixed;justify-content:center;visibility:hidden;opacity:0}#gh-head .gh-head-menu{margin:0;transition:none;transform:translateY(0)}#gh-head .nav{gap:16px;align-items:center;line-height:1.4}#gh-head .nav a{font-size:2.6rem;font-weight:600;text-transform:none}#gh-head .nav li{opacity:0;transform:translateY(-4px)}#gh-head :is(.gh-head-button,.gh-head-link){opacity:0;transform:translateY(8px)}#gh-head .gh-head-button{width:100%;font-size:1.8rem;text-transform:none;opacity:0;transform:translateY(8px)}.gh-head-open #gh-head{position:fixed;inset:0;z-index:3999999;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch}.gh-head-open.has-cover #gh-head,.gh-head-open.has-cover #gh-head .gh-head-actions{background-color:var(--ghost-accent-color)}.gh-head-open #gh-head .gh-head-actions,.gh-head-open #gh-head .gh-head-menu{position:static;visibility:visible;opacity:1}.gh-head-open #gh-head .nav{display:flex;flex-direction:column}.gh-head-open #gh-head .nav li{opacity:1;transition:transform .2s,opacity .2s;transform:translateY(0)}.gh-head-open #gh-head .gh-head-actions{position:sticky;right:0;bottom:0;left:0;display:inline-flex;flex-direction:column;gap:12px;align-items:center;padding:max(4vmin,20px) 0 max(4vmin,28px);background-color:#fff}.gh-head-open #gh-head :is(.gh-head-button,.gh-head-link){opacity:1;transition:transform .4s,opacity .4s;transition-delay:.2s;transform:translateY(0)}.gh-head-open #gh-head .gh-head-link{transition-delay:.4s}}.post-feed{position:relative;display:grid;gap:4.8vmin 4vmin;grid-template-columns:repeat(6,1fr);padding:max(4.8vmin,36px) 0 0}:is(.tag-template,.author-template) .post-feed{margin-top:4vmin}@media (max-width:991px){.post-feed{grid-template-columns:1fr 1fr}}@media (max-width:767px){.post-feed{grid-template-columns:1fr;grid-gap:40px}}.post-card{position:relative;grid-column:span 2;display:flex;flex-direction:column;background-size:cover;word-break:break-word}.post-card-image-link{position:relative;overflow:hidden;display:block;margin-bottom:32px}.post-card-image-link:after{content:"";display:block;padding-bottom:55%}.post-card[class*=post-access-] .post-card-image-link:after{background-color:rgba(0,0,0,.5);backdrop-filter:blur(3px)}.post-card.keep-ratio[class*=post-access-] .post-card-image-link:after{position:absolute;inset:0;padding-bottom:0}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image-link:after{padding-bottom:0}.post-card-image{position:absolute;inset:0;width:100%;height:100%;background:var(--color-lightgrey) no-repeat center center;-o-object-fit:cover;object-fit:cover}.post-card.keep-ratio:not(.post-card-large):not(.post-card-full) .post-card-image{position:static}.post-card-access{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:4px;font-size:1.5rem;font-weight:600;color:#fff}.post-card-content-link{position:relative;display:block;color:var(--color-darkgrey)}.post-card-content-link:hover{text-decoration:none}.post-feed .no-image .post-card-content-link{padding:0}.no-image .post-card-header{margin-top:0}.post-card-tags{display:flex;align-items:center;gap:12px;margin:0 0 10px;color:var(--color-secondary-text);font-size:1.4rem;font-weight:600;letter-spacing:-.005em;line-height:1}.post-card-featured{position:relative;display:flex;align-items:center;gap:3px;padding-left:18px;color:var(--ghost-accent-color)}.post-card-featured svg{position:absolute;left:0}.post-card-title{margin:0;font-size:2.6rem;font-weight:800;line-height:1.2}.post-card-content-link:hover .post-card-title{opacity:.9}.no-image .post-card-title{margin-top:0}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .post-card-title{font-family:var(--gh-font-heading,var(--font-serif));letter-spacing:-.005em}.post-card-title svg{margin-top:-3px;margin-left:-1px}.post-card-content{flex-grow:1;display:flex;flex-direction:column}.post-card-excerpt{display:-webkit-box;overflow-y:hidden;margin-top:12px;max-width:720px;font-size:1.6rem;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word}.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .post-card-excerpt{font-family:var(--gh-font-body,var(--font-sans))}.post-card:not(.post-card-large):not(.post-card-full):not(.dynamic):not(.no-image) .post-card-excerpt{-webkit-line-clamp:2}:is(.tag-template,.author-template) .post-card-excerpt{margin-top:6px}:is(.tag-template,.author-template) .post-card-large .post-card-excerpt{display:block;overflow-y:auto}.post-card-meta{margin-top:12px;padding:0;font-size:1.3rem;color:var(--color-secondary-text)}.post-card-meta,.post-card-meta>*{display:flex;align-items:center;gap:6px}.post-card-meta>*+:not(script):before{width:2px;height:2px;content:"";background-color:var(--color-secondary-text);border-radius:50%}.post-card-meta .sep{margin:0 4px}.author-profile-image{display:block;width:100%;height:100%;background:#1a1a1a;border-radius:100%;-o-object-fit:cover;object-fit:cover}.author-list{display:flex;margin:0 0 0 4px;padding:0;list-style:none}.author-list-item{position:relative;flex-shrink:0;margin:0;padding:0}@media (min-width:1001px){.post-card-large{grid-column:span 6;display:grid;grid-gap:4vmin;grid-template-columns:repeat(3,1fr);border-top:0}.post-card-large:not(.no-image) .post-card-header{margin-top:0}.post-card-large .post-card-image-link{position:relative;grid-column:span 2;margin-bottom:0}.post-card-large .post-card-content{grid-column:span 1}.post-card-large.no-image .post-card-content{grid-column:span 2}.post-card-large .post-card-image{position:absolute;width:100%;height:100%}.post-card-large .post-card-tags{margin-bottom:12px}.post-card-large .post-card-title{margin-top:0;font-size:4.4rem;line-height:1.05}.post-card-large .post-card-excerpt{margin-top:16px}.post-card-full{grid-column:span 6}.post-card-full .post-card-image-link{margin-bottom:40px}.post-card-full .post-card-tags{margin-bottom:14px}.post-card-full .post-card-title{font-size:6.4rem;line-height:.95}.post-card-full .post-card-excerpt{margin-top:20px;font-size:1.8rem}.post-card-large+.post-card-large:nth-child(2n){margin:32px 0}.post-card-large+.post-card-large:nth-child(2n) .post-card-content{order:-1}.post-card.dynamic{grid-column:span 3}.post-card.dynamic .post-card-title{font-size:3rem}}.pagination{display:none;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:8vmin}html.no-infinite-scroll .pagination{display:grid}.pagination a{font-size:1.7rem;font-weight:600}.pagination .page-number{grid-column-start:2;color:var(--color-secondary-text)}.pagination .older-posts{grid-column-start:3;text-align:right}@media (max-width:767px){.pagination .page-number{display:none}}.article{word-break:break-word}.post-template .article{padding:max(8vmin,40px) 0 max(8vmin,64px)}.post-template .article-header{padding:0 0 max(6.4vmin,40px)}.page-template .article-header{padding:max(12vmin,64px) 0 max(3.2vmin,28px)}.article-tag{margin-bottom:16px;font-size:1.6rem}.article-tag a{color:var(--color-secondary-text)}.article-title{margin-bottom:0;font-size:clamp(3.2rem,5vw,5.2rem);font-weight:800;line-height:1.05;color:var(--color-darkgrey)}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .article-title{font-family:var(--gh-font-heading,var(--font-serif))}.article-excerpt{margin-top:20px;max-width:720px;font-size:2rem;line-height:1.45;color:var(--color-darkgrey)}.gh-canvas .article-image{grid-column:wide-start/wide-end;width:100%;margin:max(6.4vmin,40px) 0 0}.image-full .article-image{grid-column:full-start/full-end}.image-small .article-image{grid-column:main-start/main-end}.gh-canvas .article-image img{display:block;margin-left:auto;margin-right:auto;width:100%}@media (max-width:767px){.article-excerpt{margin-top:14px;font-size:1.7rem}}.gh-canvas,.kg-width-full.kg-content-wide{--gap:max(4vmin, 20px);--main:min(var(--content-width, 720px), 100% - 2 * var(--gap));--wide:minmax(0, calc(.5 * (var(--container-width, 1200px) - var(--content-width, 720px))));--full:minmax(var(--gap), 1fr);display:grid;grid-template-columns:[full-start] var(--full) [wide-start] var(--wide) [main-start] var(--main) [main-end] var(--wide) [wide-end] var(--full) [full-end]}.gh-canvas>*{grid-column:main-start/main-end}.kg-content-wide>div,.kg-width-wide{grid-column:wide-start/wide-end}.kg-width-full{grid-column:full-start/full-end}.kg-width-full img{width:100%}.gh-content>*+*{margin-top:max(3.2vmin,24px);margin-bottom:0}.gh-content>.kg-width-full+.kg-width-full:not(.kg-width-full.kg-card-hascaption+.kg-width-full){margin-top:0}.gh-content>[id]{margin:0;color:var(--color-darkgrey)}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .gh-content>[id]{font-family:var(--gh-font-heading,var(--font-serif))}.gh-content>[id]:not(:first-child){margin:2em 0 0}.gh-content>[id]+*{margin-top:1.5rem!important}.gh-content>blockquote,.gh-content>hr{position:relative;margin-top:max(4.8vmin,32px)}.gh-content>blockquote+*,.gh-content>hr+*{margin-top:max(4.8vmin,32px)!important}.gh-content a{color:var(--ghost-accent-color);text-decoration:underline;word-break:break-word}.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-family:var(--gh-font-body,var(--font-serif));font-weight:400;font-size:2rem;line-height:1.6em}.gh-content>p img{margin:0 auto}.page-template .gh-content:only-child>:first-child:not(.kg-width-full){margin-top:max(12vmin,64px)}.page-template .gh-content>:last-child:not(.kg-width-full){margin-bottom:max(12vmin,64px)}.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul{font-family:var(--font-serif);font-weight:400;font-size:1.9rem;line-height:1.6em}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.7rem;line-height:1.6em}.gh-content .kg-callout-card .kg-callout-emoji{font-size:2.1rem;line-height:1.4em}.gh-content .kg-toggle-card .kg-toggle-heading-text{font-size:2rem}.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-callout-card .kg-callout-text,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-toggle-card .kg-toggle-content>ol,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-toggle-card .kg-toggle-content>p,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content .kg-toggle-card .kg-toggle-content>ul,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>blockquote,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>dl,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>ol,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>p,.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .gh-content>ul{font-family:var(--gh-font-body,var(--font-sans))}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>ul,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>dl,.gh-content>ol,.gh-content>ul{padding-left:1.9em}.gh-content>blockquote:not([class]){position:relative;font-style:italic;padding:0}.gh-content>blockquote:not([class]):before{content:"";position:absolute;left:-1.5em;top:0;bottom:0;width:.3rem;background:var(--ghost-accent-color)}.gh-content :not(pre)>code{vertical-align:middle;padding:.15em .4em;border:1px solid #e1eaef;font-weight:400!important;font-size:.9em;line-height:1em;color:#15171a;background:#f0f6f9;border-radius:.25em}.gh-content pre{overflow:auto;padding:16px 20px;color:var(--color-wash);font-size:1.4rem;line-height:1.5em;background:var(--color-darkgrey);border-radius:5px;box-shadow:0 2px 6px -2px rgba(0,0,0,.1),0 0 1px rgba(0,0,0,.4)}.gh-content ol ol li{list-style-type:lower-alpha}.gh-content ol ol ol li{list-style-type:lower-roman}@media (max-width:650px){.gh-content .kg-callout-card .kg-callout-text,.gh-content .kg-toggle-card .kg-toggle-content>ol,.gh-content .kg-toggle-card .kg-toggle-content>p,.gh-content .kg-toggle-card .kg-toggle-content>ul,.gh-content>blockquote:not([class]),.gh-content>dl,.gh-content>ol,.gh-content>p,.gh-content>ul{font-size:1.8rem}.gh-content .kg-product-card .kg-product-card-description>ol,.gh-content .kg-product-card .kg-product-card-description>p,.gh-content .kg-product-card .kg-product-card-description>ul{font-size:1.6rem}.gh-content blockquote:not([class]):before{left:min(-4vmin,-20px)}}.gh-content .kg-card+:not(.kg-card),.gh-content :not(.kg-card):not([id])+.kg-card{margin-top:6vmin}.kg-embed-card{display:flex;flex-direction:column;align-items:center;width:100%}.gh-content iframe[src*="kickstarter.com"],.gh-content iframe[src*="player.vimeo.com"],.gh-content iframe[src*="youtube-nocookie.com"],.gh-content iframe[src*="youtube.com"],.kg-embed-card iframe[src*="kickstarter.com"],.kg-embed-card iframe[src*="player.vimeo.com"],.kg-embed-card iframe[src*="youtube-nocookie.com"],.kg-embed-card iframe[src*="youtube.com"]{aspect-ratio:16/9;width:100%;height:auto}.kg-image-card img{margin:auto}.gh-feature-image,.kg-gallery-image,.kg-image[width][height]{cursor:pointer}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .kg-toggle-card .kg-toggle-heading-text{font-family:var(--gh-font-heading,var(--font-serif))}.gh-content .kg-callout-card-accent a{text-decoration:underline}.kg-blockquote-alt{font-family:var(--font-serif);color:var(--color-midgrey)}.has-sans-body:not([class*=" gh-font-body"]):not([class^=gh-font-body]) .kg-blockquote-alt{font-family:var(--gh-font-body,var(--font-sans))}.kg-card.kg-header-card.kg-style-dark{background:var(--color-darkgrey)}.kg-header-card.kg-style-light h2.kg-header-card-header{color:#000}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .kg-header-card h2.kg-header-card-header{font-family:var(--gh-font-heading,var(--font-serif))}figcaption{padding:1.5rem 1.5rem 0;text-align:center;color:rgba(0,0,0,.5);font-size:1.3rem;line-height:1.4em}figcaption strong{color:rgba(0,0,0,.8)}figcaption a{text-decoration:underline}iframe.instagram-media{margin:6vmin auto 0!important}iframe.instagram-media+script+:not([id]){margin-top:6vmin}.kg-width-full.kg-card-hascaption{display:grid;grid-template-columns:inherit}.kg-width-wide.kg-card-hascaption img{grid-column:wide-start/wide-end}.kg-width-full.kg-card-hascaption img{grid-column:1/-1}.kg-width-full.kg-card-hascaption figcaption{grid-column:main-start/main-end}.article-comments{margin:6vmin 0 0}.footnotes-sep{margin-bottom:30px}.footnotes{font-size:1.5rem}.footnotes p{margin:0}.footnote-backref{font-size:1.2rem;font-weight:700;text-decoration:none!important;box-shadow:none!important}.gh-content table:not(.gist table){display:inline-block;overflow-x:auto;max-width:100%;width:auto;border-spacing:0;border-collapse:collapse;font-family:var(--font-sans);font-size:1.6rem;white-space:nowrap;vertical-align:top;-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse at left,rgba(0,0,0,.2),transparent 75%) 0,radial-gradient(ellipse at right,rgba(0,0,0,.2),transparent 75%) 100%;background-attachment:scroll,scroll;background-size:10px 100%,10px 100%;background-repeat:no-repeat}.gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(90deg,#fff 50%,hsla(0,0%,100%,0));background-size:20px 100%;background-repeat:no-repeat}.gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(270deg,#fff 50%,hsla(0,0%,100%,0));background-position:100% 0;background-size:20px 100%;background-repeat:no-repeat}.gh-content table:not(.gist table) th{color:var(--color-darkgrey);font-size:1.2rem;font-weight:700;letter-spacing:.2px;text-align:left;text-transform:uppercase;background-color:#f4f8fb}.gh-content table:not(.gist table) td,.gh-content table:not(.gist table) th{padding:6px 12px;border:1px solid #e3edf3}.article-byline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:min(24px,5.6vmin) 0 0}.gh-button-share{display:inline-flex;align-items:center;flex-shrink:0;padding:.5em 1.2em;font-size:1.4rem;font-weight:600;border:1px solid rgba(0,0,0,.15);border-radius:999px;color:rgba(0,0,0,.85);background:transparent;cursor:pointer;transition:all .4s ease;white-space:nowrap;text-decoration:none}.gh-button-share:hover{border-color:rgba(0,0,0,.5)}html.dark-mode .gh-button-share{color:hsla(0,0%,100%,.85);border-color:hsla(0,0%,100%,.15)}html.dark-mode .gh-button-share:hover{border-color:hsla(0,0%,100%,.5)}.article-byline-content{flex-grow:1;display:flex;align-items:center}.article-byline-content .author-list{justify-content:flex-start;padding:0 14px 0 0}.article-byline-meta{color:var(--color-secondary-text);font-size:1.4rem;line-height:1.2em}.article-byline-meta .author-name{margin:0 0 6px;font-size:1.7rem;font-weight:700;letter-spacing:0}.article-byline-meta .bull{display:inline-block;margin:0 2px}.author-avatar{display:block;overflow:hidden;margin:0 -4px;width:min(56px,13.6vmin);height:min(56px,13.6vmin);border:2px solid #fff;border-radius:50%;background-color:var(--color-border)}.page-template .article-title{margin-bottom:0}@media (max-width:767px){.article-byline-content{flex-direction:column;align-items:flex-start;gap:16px}.article-byline-content .author-list{padding-right:12px}.article-byline-meta .author-name{margin-bottom:4px}}.footer-cta{position:relative;text-align:center}.footer-cta-title{margin:0 0 min(24px,6.4vmin);font-size:clamp(2.6rem,5vw,3.8rem);font-weight:800}.has-serif-title:not([class*=" gh-font-heading"]):not([class^=gh-font-heading]) .footer-cta-title{font-family:var(--gh-font-heading,var(--font-serif))}.footer-cta-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:100%;max-width:500px;padding:5px 5px 5px 15px;font-size:1.7rem;color:var(--color-secondary-text);background:#fff;border:1px solid var(--color-border);border-radius:8px;transition:border-color .2s}.footer-cta-button:hover{border-color:#000}.footer-cta-button span{display:inline-block;padding:9px 15px;color:#fff;font-size:1.6rem;font-weight:600;letter-spacing:-.005em;background:var(--ghost-accent-color);border-radius:6px}.read-more-wrap{margin-top:2.4vmin}.footer-cta+.read-more-wrap{margin-top:max(12vmin,72px)}.read-more{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4vmin}.read-more .post-card-tags{display:none}@media (max-width:1000px){.read-more{grid-template-columns:repeat(4,1fr)}.read-more .post-card:nth-child(3){display:none}}@media (max-width:700px){.read-more{grid-template-columns:repeat(2,1fr)}.read-more .post-card:nth-child(2){display:none}}.comments{display:flex;flex-direction:column;align-items:center;margin:60px 0 44px}.comments-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;width:100%;max-width:720px}.comments h2{width:100%;max-width:720px;font-weight:800;font-size:3.4rem}.comments .comment-count{color:var(--color-midgrey);font-weight:600;white-space:nowrap}.comments #ghost-comments-root{width:100%;max-width:720px}.author-profile-pic{display:block;width:80px;height:80px;-o-object-fit:cover;object-fit:cover;margin:0 0 2rem;background:#1a1a1a;border-radius:50%}.author-profile-footer{margin-top:16px}.author-profile-location{font-weight:700}.author-profile-meta{display:flex;gap:12px}.author-profile-social-link{font-size:1.3rem;color:var(--color-secondary-text)}.author-profile-social-link:hover{color:var(--color-darkgrey)}.author-profile-social-link svg{width:16px;height:16px}@media (min-width:1001px){.author-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.tag-template .post-card-large .post-card-image-link{grid-column:2/span 2;order:2}.tag-template .post-card-large .post-card-content{order:1}@media (min-width:1001px){.tag-template .post-card-large .post-card-content:only-child{grid-column:span 2;max-width:640px}}.error-content{padding:14vw 4vw 2vw}.error-message{padding-bottom:10vw;text-align:center}.error-code{margin:0;font-size:12vw;line-height:1em;letter-spacing:-5px}.error-description{margin:0;color:var(--color-secondary-text);font-size:3.2rem;line-height:1.3em;letter-spacing:-.005em;font-weight:400}.error-link{display:inline-block;margin-top:5px}@media (min-width:940px){.error-content .post-card{margin-bottom:0;padding-bottom:0;border-bottom:none}}@media (max-width:800px){.error-content{padding-top:24vw}.error-code{font-size:11.2rem}.error-message{padding-bottom:16vw}.error-description{margin:5px 0 0;font-size:1.8rem}}@media (max-width:500px){.error-content{padding-top:28vw}.error-message{padding-bottom:14vw}}.site-footer{position:relative;margin:max(12vmin,64px) 0 0;padding-top:48px;padding-bottom:140px;color:#fff;background:#000}.page-template .site-footer{margin-top:0}.site-footer .inner{display:grid;grid-gap:40px;grid-template-columns:auto 1fr auto;align-items:center;color:hsla(0,0%,100%,.7);font-size:1.3rem}.site-footer-center{display:flex;flex-direction:column;align-items:center;gap:16px}.site-footer-social-links{display:flex;gap:20px}.site-footer-social-links a{display:inline-flex}.site-footer-social-links svg{width:16px;height:16px}.site-footer .copyright a{color:#fff;letter-spacing:-.015em;font-weight:500}.site-footer a{color:hsla(0,0%,100%,.7)}.site-footer a:hover{color:#fff;text-decoration:none}.site-footer-nav ul{display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}.site-footer-nav li{display:inline-flex;align-items:center;padding:0;margin:0;line-height:2em}.site-footer-nav a{position:relative;display:inline-flex;align-items:center;margin-left:10px}.site-footer-nav li:not(:first-child) a:before{content:"";display:block;width:2px;height:2px;margin:0 10px 0 0;background:#fff;border-radius:100%}@media (max-width:767px){.site-footer .inner{max-width:500px;grid-template-columns:1fr;grid-gap:0;text-align:center}.site-footer .copyright,.site-footer .copyright a{color:#fff;font-size:1.5rem}.site-footer .copyright,.site-footer-center{margin-bottom:16px}}html.dark-mode body{color:hsla(0,0%,100%,.75);background:var(--color-darkmode)}html.dark-mode img{opacity:.9}html.dark-mode kbd{background:#0c0d0e}html.dark-mode figcaption a{color:#fff}html.dark-mode body:not(.has-cover) .gh-head{background:var(--color-darkmode);color:#fff}html.dark-mode .gh-burger:after,html.dark-mode .gh-burger:before{background-color:#fff}html.dark-mode .site-header-content{color:#fff}html.dark-mode .site-header-cover{opacity:1}html.dark-mode .post-card-image{background:var(--color-darkmode)}html.dark-mode :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content,.pagination .page-number){color:var(--color-secondary-text)}html.dark-mode .post-card-featured,html.dark-mode .post-card-title{color:#fff}html.dark-mode .post-card-excerpt{color:var(--color-secondary-text)}html.dark-mode .article-title,html.dark-mode .author-profile-location,html.dark-mode .author-profile-social-link:hover,html.dark-mode .pagination a{color:#fff}html.dark-mode .article-excerpt{color:var(--color-secondary-text)}html.dark-mode .post-full-image{background-color:#131416}html.dark-mode .author-avatar{border-color:var(--color-darkmode);background-color:#131416}html.dark-mode .author-profile-image{opacity:1}html.dark-mode .author-profile-image path{fill:var(--color-darkmode)}html.dark-mode .article-byline-meta .author-name a{color:#fff}html.dark-mode .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.dark-mode .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.dark-mode .gh-content pre{background:#000}html.dark-mode .gh-content :not(pre)>code{background:#0e0f11;border-color:#131416;color:var(--color-wash)}:where(html.dark-mode) .gh-content a{color:#fff}html.dark-mode .gh-content code{color:#fff;background:#000}html.dark-mode hr{border-top-color:#424242}html.dark-mode .gh-content hr:after{background:#131416;box-shadow:var(--color-darkmode) 0 0 0 5px}html.dark-mode figcaption{color:hsla(0,0%,100%,.6)}html.dark-mode .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.dark-mode .gh-content table:not(.gist table) th{color:hsla(0,0%,100%,.85);background-color:#282b2f}html.dark-mode .gh-content table:not(.gist table) td,html.dark-mode .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.dark-mode .gh-content :is(input,textarea){color:#000}html.dark-mode .site-archive-header .no-image{color:hsla(0,0%,100%,.9);background:var(--color-darkmode)}html.dark-mode .kg-header-card.kg-style-dark{background:#000}html.dark-mode .kg-header-card.kg-style-light{background:#0b0c0e}html.dark-mode .kg-header-card h2.kg-header-card-header,html.dark-mode .kg-header-card h3.kg-header-card-subheader{color:#fff}html.dark-mode .kg-bookmark-card a.kg-bookmark-container,html.dark-mode .kg-bookmark-card a.kg-bookmark-container:hover{background:var(--color-darkmode)!important;color:#fff!important}html.dark-mode .footer-cta-title{color:#fff}@media (max-width:767px){html.dark-mode .gh-head-open:not(.has-cover) #gh-head,html.dark-mode .gh-head-open:not(.has-cover) #gh-head .gh-head-actions{background:var(--color-darkmode)}}@media (prefers-color-scheme:dark){html.auto-color body{color:hsla(0,0%,100%,.75);background:var(--color-darkmode)}html.auto-color img{opacity:.9}html.auto-color kbd{background:#0c0d0e}html.auto-color figcaption a{color:#fff}html.auto-color body:not(.has-cover) .gh-head{background:var(--color-darkmode);color:#fff}html.auto-color .gh-burger:after,html.auto-color .gh-burger:before{background-color:#fff}html.auto-color .site-header-content{color:#fff}html.auto-color .site-header-cover{opacity:1}html.auto-color .post-card-image{background:var(--color-darkmode)}html.auto-color :is(.post-card-tags,.post-card-meta,.article-tag a,.byline-meta-content,.pagination .page-number){color:var(--color-secondary-text)}html.auto-color .post-card-featured,html.auto-color .post-card-title{color:#fff}html.auto-color .post-card-excerpt{color:var(--color-secondary-text)}html.auto-color .article-title,html.auto-color .author-profile-location,html.auto-color .author-profile-social-link:hover,html.auto-color .pagination a{color:#fff}html.auto-color .article-excerpt{color:var(--color-secondary-text)}html.auto-color .post-full-image{background-color:#131416}html.auto-color .author-avatar{border-color:var(--color-darkmode);background-color:#131416}html.auto-color .author-profile-image{opacity:1}html.auto-color .author-profile-image path{fill:var(--color-darkmode)}html.auto-color .article-byline-meta .author-name a{color:#fff}html.auto-color .gh-button-share{color:hsla(0,0%,100%,.85);border-color:hsla(0,0%,100%,.15)}html.auto-color .gh-button-share:hover{border-color:hsla(0,0%,100%,.5)}html.auto-color .no-image .author-social-link a{color:hsla(0,0%,100%,.75)}html.auto-color .gh-content>[id]{color:hsla(0,0%,100%,.9)}html.auto-color .gh-content pre{background:#000}html.auto-color .gh-content :not(pre)>code{background:#0e0f11;border-color:#131416;color:var(--color-wash)}:where(html.auto-color) .gh-content a{color:#fff}html.auto-color .gh-content code{color:#fff;background:#000}html.auto-color hr{border-top-color:#424242}html.auto-color .gh-content hr:after{background:#131416;box-shadow:var(--color-darkmode) 0 0 0 5px}html.auto-color figcaption{color:hsla(0,0%,100%,.6)}html.auto-color .gh-content table:not(.gist table) td:first-child{background-image:linear-gradient(to right,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) td:last-child{background-image:linear-gradient(to left,var(--color-darkmode) 50%,rgba(21,23,25,0) 100%)}html.auto-color .gh-content table:not(.gist table) th{color:hsla(0,0%,100%,.85);background-color:#282b2f}html.auto-color .gh-content table:not(.gist table) td,html.auto-color .gh-content table:not(.gist table) th{border:1px solid #282b2f}html.auto-color .gh-content :is(input,textarea){color:#000}html.auto-color .site-archive-header .no-image{color:hsla(0,0%,100%,.9);background:var(--color-darkmode)}html.auto-color .kg-header-card.kg-style-dark{background:#000}html.auto-color .kg-header-card.kg-style-light{background:#0b0c0e}html.auto-color .kg-header-card h2.kg-header-card-header,html.auto-color .kg-header-card h3.kg-header-card-subheader{color:#fff}html.auto-color .kg-bookmark-card a.kg-bookmark-container,html.auto-color .kg-bookmark-card a.kg-bookmark-container:hover{background:var(--color-darkmode)!important;color:#fff!important}html.auto-color .footer-cta-title{color:#fff}@media (max-width:767px){html.auto-color .gh-head-open:not(.has-cover) #gh-head,html.auto-color .gh-head-open:not(.has-cover) #gh-head .gh-head-actions{background:var(--color-darkmode)}}}.pswp{position:absolute;top:0;left:0;z-index:3999999;display:none;width:100%;height:100%;overflow:hidden;touch-action:none;outline:none;backface-visibility:hidden;-webkit-text-size-adjust:100%}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:grab}.pswp--dragging .pswp__img{cursor:grabbing}.pswp__bg{background-color:rgba(0,0,0,.85);opacity:0;transition:opacity 333ms cubic-bezier(.4,0,.22,1);transform:translateZ(0);backface-visibility:hidden;will-change:opacity}.pswp__bg,.pswp__scroll-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__scroll-wrap{overflow:hidden}.pswp__container,.pswp__zoom-wrap{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;backface-visibility:hidden}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;width:100%;transition:transform 333ms cubic-bezier(.4,0,.22,1);transform-origin:left top}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{transition:none}.pswp__item{right:0;bottom:0;overflow:hidden}.pswp__img,.pswp__item{position:absolute;top:0;left:0}.pswp__img{width:auto;height:auto}.pswp__img--placeholder{backface-visibility:hidden}.pswp__img--placeholder--blank{background:#000}.pswp--ie .pswp__img{top:0;left:0;width:100%!important;height:auto!important}.pswp__error-msg{position:absolute;top:50%;left:0;width:100%;margin-top:-8px;font-size:14px;line-height:16px;color:var(--color-secondary-text);text-align:center}.pswp__error-msg a{color:var(--color-secondary-text);text-decoration:underline}.pswp__button{position:relative;display:block;float:right;width:44px;height:44px;padding:0;margin:0;overflow:visible;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:none;border:0;box-shadow:none;transition:opacity .2s}.pswp__button:focus,.pswp__button:hover{opacity:1}.pswp__button:active{outline:none;opacity:.9}.pswp__button::-moz-focus-inner{padding:0;border:0}.pswp__ui--over-close .pswp__button--close{opacity:1}.pswp__button,.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{width:44px;height:44px;background:url(../images/default-skin.png) 0 0 no-repeat;background-size:264px 88px}@media (min-resolution:1.1dppx),(min-resolution:105dpi){.pswp--svg .pswp__button,.pswp--svg .pswp__button--arrow--left:before,.pswp--svg .pswp__button--arrow--right:before{background-image:url(../images/default-skin.svg)}.pswp--svg .pswp__button--arrow--left,.pswp--svg .pswp__button--arrow--right{background:none}}.pswp__button--close{background-position:0 -44px}.pswp__button--share{background-position:-44px -44px}.pswp__button--fs{display:none}.pswp--supports-fs .pswp__button--fs{display:block}.pswp--fs .pswp__button--fs{background-position:-44px 0}.pswp__button--zoom{display:none;background-position:-88px 0}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__button--zoom{background-position:-132px 0}.pswp--touch .pswp__button--arrow--left,.pswp--touch .pswp__button--arrow--right{visibility:hidden}.pswp__button--arrow--left,.pswp__button--arrow--right{position:absolute;top:50%;width:70px;height:100px;margin-top:-50px;background:none}.pswp__button--arrow--left{left:0}.pswp__button--arrow--right{right:0}.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{position:absolute;top:35px;width:32px;height:30px;content:""}.pswp__button--arrow--left:before{left:6px;background-position:-138px -44px}.pswp__button--arrow--right:before{right:6px;background-position:-94px -44px}.pswp__counter{position:absolute;top:0;left:0;height:44px;padding:0 15px;font-size:11px;font-weight:700;line-height:44px;color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__caption{position:absolute;bottom:0;left:0;width:100%;min-height:44px}.pswp__caption__center{max-width:420px;padding:25px 15px 30px;margin:0 auto;font-size:11px;line-height:1.6;color:#fff;text-align:center}.pswp__caption__center .post-caption-title{margin-bottom:7px;font-size:15px;font-weight:500;text-transform:uppercase}.pswp__caption__center .post-caption-meta-item+.post-caption-meta-item:before{padding:0 4px;content:"\02022"}.pswp__caption--empty{display:none}.pswp__caption--fake{visibility:hidden}.pswp__preloader{position:absolute;top:0;left:50%;width:44px;height:44px;margin-left:-22px;opacity:0;transition:opacity .25s ease-out;direction:ltr;will-change:opacity}.pswp__preloader__icn{width:20px;height:20px;margin:12px}.pswp__preloader--active{opacity:1}.pswp__preloader--active .pswp__preloader__icn{background:url(../images/preloader.gif) 0 0 no-repeat}.pswp--css_animation .pswp__preloader--active{opacity:1}.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn{animation:clockwise .5s linear infinite}.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut{animation:donut-rotate 1s cubic-bezier(.4,0,.22,1) infinite}.pswp--css_animation .pswp__preloader__icn{position:absolute;top:15px;left:15px;width:14px;height:14px;margin:0;background:none;opacity:.75}.pswp--css_animation .pswp__preloader__cut{position:relative;width:7px;height:14px;overflow:hidden}.pswp--css_animation .pswp__preloader__donut{position:absolute;top:0;left:0;box-sizing:border-box;width:14px;height:14px;margin:0;background:none;border-color:#fff #fff transparent transparent;border-style:solid;border-width:2px;border-radius:50%}@media screen and (max-width:1024px){.pswp__preloader{position:relative;top:auto;left:auto;float:right;margin:0}}@keyframes clockwise{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes donut-rotate{0%{transform:rotate(0)}50%{transform:rotate(-140deg)}to{transform:rotate(0)}}.pswp__ui{z-index:1550;visibility:visible;opacity:1;-webkit-font-smoothing:auto}.pswp__top-bar{position:absolute;top:0;left:0;width:100%;height:44px}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right,.pswp__caption,.pswp__top-bar{backface-visibility:hidden;transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right{visibility:visible}.pswp__ui--idle .pswp__button--arrow--left,.pswp__ui--idle .pswp__button--arrow--right,.pswp__ui--idle .pswp__top-bar{opacity:0}.pswp__ui--hidden .pswp__button--arrow--left,.pswp__ui--hidden .pswp__button--arrow--right,.pswp__ui--hidden .pswp__caption,.pswp__ui--hidden .pswp__top-bar{opacity:.001}.pswp__ui--one-slide .pswp__button--arrow--left,.pswp__ui--one-slide .pswp__button--arrow--right,.pswp__ui--one-slide .pswp__counter{display:none}.pswp__element--disabled{display:none!important}.pswp--minimal--dark .pswp__top-bar{background:none}/*# sourceMappingURL=screen.css.map */
|
|
@@ -1,50 +1,57 @@
|
|
|
1
1
|
function lightbox(trigger) {
|
|
2
|
+
var getItem = function (image) {
|
|
3
|
+
var width = image.getAttribute('width');
|
|
4
|
+
var height = image.getAttribute('height');
|
|
5
|
+
|
|
6
|
+
// Images without dimensions in the markup, like feature images, are
|
|
7
|
+
// measured from the source the browser picked out of the srcset
|
|
8
|
+
var src = width && height ? image.getAttribute('src') : (image.currentSrc || image.getAttribute('src'));
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
src: src,
|
|
12
|
+
msrc: src,
|
|
13
|
+
w: width || image.naturalWidth,
|
|
14
|
+
h: height || image.naturalHeight,
|
|
15
|
+
el: image,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
2
19
|
var onThumbnailsClick = function (e) {
|
|
3
20
|
e.preventDefault();
|
|
4
21
|
|
|
22
|
+
var pswpElement = document.querySelectorAll('.pswp')[0];
|
|
23
|
+
if (!pswpElement) return false;
|
|
24
|
+
|
|
5
25
|
var items = [];
|
|
6
26
|
var index = 0;
|
|
7
27
|
|
|
8
|
-
|
|
28
|
+
// Feature images live outside the content, so they open on their own
|
|
29
|
+
var card = e.target.closest('.kg-card');
|
|
9
30
|
|
|
10
|
-
|
|
11
|
-
var
|
|
31
|
+
if (card) {
|
|
32
|
+
var prevSibling = card.previousElementSibling;
|
|
12
33
|
|
|
13
|
-
prevSibling.
|
|
14
|
-
prevItems
|
|
15
|
-
src: item.getAttribute('src'),
|
|
16
|
-
msrc: item.getAttribute('src'),
|
|
17
|
-
w: item.getAttribute('width'),
|
|
18
|
-
h: item.getAttribute('height'),
|
|
19
|
-
el: item,
|
|
20
|
-
})
|
|
34
|
+
while (prevSibling && (prevSibling.classList.contains('kg-image-card') || prevSibling.classList.contains('kg-gallery-card'))) {
|
|
35
|
+
var prevItems = [];
|
|
21
36
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
prevSibling = prevSibling.previousElementSibling;
|
|
37
|
+
prevSibling.querySelectorAll('img').forEach(function (item) {
|
|
38
|
+
prevItems.push(getItem(item));
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
index += 1;
|
|
41
|
+
});
|
|
42
|
+
prevSibling = prevSibling.previousElementSibling;
|
|
43
|
+
|
|
44
|
+
items = prevItems.concat(items);
|
|
45
|
+
}
|
|
27
46
|
}
|
|
28
47
|
|
|
29
|
-
if (e.target.classList.contains('kg-image')) {
|
|
30
|
-
items.push(
|
|
31
|
-
src: e.target.getAttribute('src'),
|
|
32
|
-
msrc: e.target.getAttribute('src'),
|
|
33
|
-
w: e.target.getAttribute('width'),
|
|
34
|
-
h: e.target.getAttribute('height'),
|
|
35
|
-
el: e.target,
|
|
36
|
-
});
|
|
48
|
+
if (!card || e.target.classList.contains('kg-image')) {
|
|
49
|
+
items.push(getItem(e.target));
|
|
37
50
|
} else {
|
|
38
51
|
var reachedCurrentItem = false;
|
|
39
52
|
|
|
40
53
|
e.target.closest('.kg-gallery-card').querySelectorAll('img').forEach(function (item) {
|
|
41
|
-
items.push(
|
|
42
|
-
src: item.getAttribute('src'),
|
|
43
|
-
msrc: item.getAttribute('src'),
|
|
44
|
-
w: item.getAttribute('width'),
|
|
45
|
-
h: item.getAttribute('height'),
|
|
46
|
-
el: item,
|
|
47
|
-
});
|
|
54
|
+
items.push(getItem(item));
|
|
48
55
|
|
|
49
56
|
if (!reachedCurrentItem && item !== e.target) {
|
|
50
57
|
index += 1;
|
|
@@ -54,22 +61,16 @@ function lightbox(trigger) {
|
|
|
54
61
|
});
|
|
55
62
|
}
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
while (nextSibling && (nextSibling.classList.contains('kg-image-card') || nextSibling.classList.contains('kg-gallery-card'))) {
|
|
60
|
-
nextSibling.querySelectorAll('img').forEach(function (item) {
|
|
61
|
-
items.push({
|
|
62
|
-
src: item.getAttribute('src'),
|
|
63
|
-
msrc: item.getAttribute('src'),
|
|
64
|
-
w: item.getAttribute('width'),
|
|
65
|
-
h: item.getAttribute('height'),
|
|
66
|
-
el: item,
|
|
67
|
-
})
|
|
68
|
-
});
|
|
69
|
-
nextSibling = nextSibling.nextElementSibling;
|
|
70
|
-
}
|
|
64
|
+
if (card) {
|
|
65
|
+
var nextSibling = card.nextElementSibling;
|
|
71
66
|
|
|
72
|
-
|
|
67
|
+
while (nextSibling && (nextSibling.classList.contains('kg-image-card') || nextSibling.classList.contains('kg-gallery-card'))) {
|
|
68
|
+
nextSibling.querySelectorAll('img').forEach(function (item) {
|
|
69
|
+
items.push(getItem(item));
|
|
70
|
+
});
|
|
71
|
+
nextSibling = nextSibling.nextElementSibling;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
73
74
|
|
|
74
75
|
var options = {
|
|
75
76
|
bgOpacity: 0.9,
|
|
@@ -89,6 +90,22 @@ function lightbox(trigger) {
|
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
|
|
93
|
+
|
|
94
|
+
// An image can be clicked before it has finished decoding, in which case
|
|
95
|
+
// there's nothing to measure yet — load it and correct the size after
|
|
96
|
+
gallery.listen('gettingData', function (i, item) {
|
|
97
|
+
if (item.w > 0 && item.h > 0) return;
|
|
98
|
+
|
|
99
|
+
var image = new Image();
|
|
100
|
+
image.onload = function () {
|
|
101
|
+
item.w = this.naturalWidth;
|
|
102
|
+
item.h = this.naturalHeight;
|
|
103
|
+
gallery.invalidateCurrItems();
|
|
104
|
+
gallery.updateSize(true);
|
|
105
|
+
};
|
|
106
|
+
image.src = item.src;
|
|
107
|
+
});
|
|
108
|
+
|
|
92
109
|
gallery.init();
|
|
93
110
|
|
|
94
111
|
return false;
|
|
@@ -104,6 +121,6 @@ function lightbox(trigger) {
|
|
|
104
121
|
|
|
105
122
|
(function () {
|
|
106
123
|
lightbox(
|
|
107
|
-
'.kg-image-card > .kg-image[width][height], .kg-gallery-image > img'
|
|
124
|
+
'.kg-image-card > .kg-image[width][height], .kg-gallery-image > img, .gh-feature-image'
|
|
108
125
|
);
|
|
109
126
|
})();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "casper",
|
|
3
3
|
"description": "A clean, minimal default theme for the Ghost publishing platform",
|
|
4
4
|
"demo": "https://demo.ghost.io",
|
|
5
|
-
"version": "5.12.
|
|
5
|
+
"version": "5.12.3",
|
|
6
6
|
"engines": {
|
|
7
7
|
"ghost": ">=5.0.0",
|
|
8
8
|
"node": ">=22.12.0"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"ship": "STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then git push --follow-tags; else echo \"Uncomitted changes found.\" && exit 1; fi",
|
|
25
25
|
"postship": "git fetch && gulp release"
|
|
26
26
|
},
|
|
27
|
-
"packageManager": "pnpm@11.
|
|
27
|
+
"packageManager": "pnpm@11.24.0",
|
|
28
28
|
"author": {
|
|
29
29
|
"name": "Ghost Foundation",
|
|
30
30
|
"email": "hello@ghost.org",
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@tryghost/release-utils": "0.9.1",
|
|
53
53
|
"@tryghost/theme-translations": "0.0.22",
|
|
54
|
-
"autoprefixer": "10.5.
|
|
54
|
+
"autoprefixer": "10.5.4",
|
|
55
55
|
"beeper": "2.1.0",
|
|
56
|
-
"cssnano": "
|
|
56
|
+
"cssnano": "9.0.1",
|
|
57
57
|
"gscan": "6.4.2",
|
|
58
58
|
"gulp": "5.0.1",
|
|
59
59
|
"gulp-concat": "2.6.1",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"gulp-postcss": "10.0.0",
|
|
62
62
|
"gulp-uglify": "3.0.2",
|
|
63
63
|
"gulp-zip": "6.1.0",
|
|
64
|
-
"inquirer": "14.0
|
|
65
|
-
"postcss": "8.5.
|
|
64
|
+
"inquirer": "14.2.0",
|
|
65
|
+
"postcss": "8.5.26",
|
|
66
66
|
"postcss-color-mod-function": "4.1.1",
|
|
67
67
|
"postcss-easy-import": "4.0.0",
|
|
68
68
|
"pump": "3.0.4"
|
|
@@ -20,6 +20,7 @@ into the {body} tag of the default.hbs template --}}
|
|
|
20
20
|
{{!-- This is a responsive image, it loads different sizes depending on device
|
|
21
21
|
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
|
|
22
22
|
<img
|
|
23
|
+
class="gh-feature-image"
|
|
23
24
|
srcset="{{img_url feature_image size="s"}} 300w,
|
|
24
25
|
{{img_url feature_image size="m"}} 600w,
|
|
25
26
|
{{img_url feature_image size="l"}} 1000w,
|
|
@@ -66,6 +66,7 @@ into the {body} tag of the default.hbs template --}}
|
|
|
66
66
|
{{!-- This is a responsive image, it loads different sizes depending on device
|
|
67
67
|
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
|
|
68
68
|
<img
|
|
69
|
+
class="gh-feature-image"
|
|
69
70
|
srcset="{{img_url feature_image size="s"}} 300w,
|
|
70
71
|
{{img_url feature_image size="m"}} 600w,
|
|
71
72
|
{{img_url feature_image size="l"}} 1000w,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
b-cov
|
|
2
|
+
*.seed
|
|
3
|
+
*.log
|
|
4
|
+
*.csv
|
|
5
|
+
*.dat
|
|
6
|
+
*.out
|
|
7
|
+
*.pid
|
|
8
|
+
*.gz
|
|
9
|
+
|
|
10
|
+
pids
|
|
11
|
+
logs
|
|
12
|
+
results
|
|
13
|
+
|
|
14
|
+
npm-debug.log
|
|
15
|
+
node_modules
|
|
16
|
+
package-lock.json
|
|
17
|
+
|
|
18
|
+
.idea/*
|
|
19
|
+
*.iml
|
|
20
|
+
projectFilesBackup
|
|
21
|
+
|
|
22
|
+
.DS_Store
|
|
23
|
+
|
|
24
|
+
dist/
|
|
25
|
+
|
|
26
|
+
config.json
|
|
27
|
+
changelog.md
|
|
28
|
+
changelog.md.bk
|