:root{--v1-type-body:16px;--v1-type-small:14px;--v1-type-ref:13px}.skip-link{position:absolute;left:12px;top:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.92);border:1px solid rgba(55,53,47,.18);color:#37352f;text-decoration:none;font-weight:600;z-index:1000;transform:translateY(-160%);transition:transform .16s ease-out}.skip-link:focus-visible{transform:translateY(0);outline:3px solid rgba(46,170,220,.35);outline-offset:2px}:where(.super-root) :where(a,button,[role=menuitem]):focus-visible{outline:3px solid rgba(46,170,220,.35);outline-offset:2px;border-radius:10px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.super-navbar button.super-navbar__button,.super-navbar button.super-navbar__list{appearance:none;background:transparent;border:0;font:inherit;color:inherit;touch-action:manipulation}#mobile-menu[hidden]{display:none}.super-navbar__menu-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;background:transparent;cursor:default;z-index:0}.super-navbar__menu-surface{position:relative;z-index:1}@media (max-width:546px){.super-navbar__menu-surface{display:flex;flex-direction:column;height:100%}.super-navigation-menu__items-wrapper{flex:1;overflow:auto;padding:10px 16px 6px}.super-navigation-menu__items{display:flex;flex-direction:column;gap:6px}.super-navbar__menu-footer{display:flex;justify-content:center;padding:10px 16px 16px}}.super-navbar__menu .super-navbar__menu-close{appearance:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.88);border:1px solid rgba(55,53,47,.18);border-radius:999px;padding:0;color:var(--color-text-default);cursor:pointer;box-shadow:0 6px 20px rgba(15,15,15,.08);transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.super-navbar__menu .super-navbar__menu-close:hover{background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(15,15,15,.12)}.super-navbar__menu .super-navbar__menu-close:active{transform:translateY(1px)}@media (max-width:546px){.super-navbar__button,.super-navbar__list,.super-navbar__logo{position:relative}.super-navbar__button:before,.super-navbar__list:before,.super-navbar__logo:before{content:"";position:absolute;inset:-10px}}@supports (height:100dvh){@media (max-width:546px){.super-navbar__menu-wrapper{height:calc(100dvh - var(--navbar-height) + 1px)}}}@media (max-width:546px){.super-navbar__menu-wrapper{overscroll-behavior:contain}}@media (prefers-reduced-motion:reduce){.super-navbar__list-dropdown,.super-navbar__viewport[data-state=closed],.super-navbar__viewport[data-state=open]{animation:none!important;transition:none!important}.super-navbar__menu-wrapper.enter,.super-navbar__menu-wrapper.enter-active,.super-navbar__menu-wrapper.enter-done,.super-navbar__menu-wrapper.exit,.super-navbar__menu-wrapper.exit-active{transition:none!important;transform:none!important;opacity:1!important}.super-navbar__menu-backdrop{transition:none!important}}html{scroll-padding-top:calc(var(--navbar-height) + 24px)}@media (prefers-reduced-motion:no-preference){#main-content>main{animation:page-enter .42s cubic-bezier(.16,1,.3,1) both}}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.notion-collection-list__item:active{background-color:var(--color-ui-hover-bg)}.blog-post-meta{margin-top:10px;font-size:var(--v1-type-small);line-height:1.4;color:var(--color-text-gray)}.blog-post-layout{display:block}.blog-post-content{min-width:0}.page-404{padding:84px 20px 96px;position:relative;overflow:hidden}.page-404__inner{max-width:720px;margin:0 auto;position:relative;z-index:1}.page-404:before{content:"";position:absolute;inset:-120px -120px auto -120px;height:520px;background:radial-gradient(44% 52% at 26% 42%,rgba(255,214,102,.22) 0,rgba(255,214,102,.06) 55%,rgba(255,255,255,0) 72%),radial-gradient(36% 44% at 62% 18%,rgba(55,53,47,.08) 0,rgba(55,53,47,.04) 45%,rgba(255,255,255,0) 70%);pointer-events:none;filter:saturate(.96)}.page-404__code{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:rgba(55,53,47,.62);margin-bottom:16px;padding:8px 10px;border:1px solid rgba(55,53,47,.14);border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(10px)}.page-404__title{margin:0 0 10px;font-size:44px;line-height:1.04;letter-spacing:-.02em}.page-404__desc{margin:0 0 22px;font-size:16px;line-height:1.5;color:rgba(55,53,47,.72)}.page-404__actions{display:flex;flex-wrap:wrap;gap:10px}.page-404__btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border-radius:999px;text-decoration:none;font-weight:650;border:1px solid rgba(55,53,47,.18);transition:transform .16s ease,background .16s ease,border-color .16s ease;cursor:pointer}.page-404__btn--primary{background:rgba(55,53,47,.92);color:#fff;border-color:rgba(55,53,47,.92)}.page-404__btn--ghost{background:rgba(255,255,255,.86);color:rgba(55,53,47,.9)}.page-404__btn:hover{transform:translateY(-1px);border-color:rgba(55,53,47,.28)}@media (max-width:546px){.page-404{padding-top:56px}.page-404__title{font-size:34px}}@media (prefers-reduced-motion:reduce){a[class="notion-link link"]{transition:none!important}}.notion-embed[data-loaded=true] .notion-embed__loader{display:none!important}.super-root .super-content .super-navbar__breadcrumbs{background:transparent;margin:10px 0 0;max-width:none;padding:0 16px;color:var(--color-text-default)}.super-navbar .super-navbar__content{padding-left:8px!important;padding-right:8px!important}@media (max-width:546px){.super-root .super-content .super-navbar__breadcrumbs{margin-top:8px;padding-left:16px;padding-right:16px}}.super-root .super-content .super-navbar__breadcrumbs .notion-breadcrumb__divider{opacity:.55;margin:0 10px}.page__index .notion-column-list>.notion-column:first-child .notion-image img{cursor:default}@media (min-width:760px){.page__index .notion-column-list{align-items:stretch}.page__index .notion-column-list>.notion-column:first-child .notion-image{max-width:220px;margin-inline:auto}.page__index .notion-column-list>.notion-column:first-child .notion-image img{display:block;width:100%;height:auto}}.notion-code__copy-button{z-index:2}.notion-code:focus-within .notion-code__copy-button{opacity:1;pointer-events:all}@media (hover:none){.notion-code .notion-code__copy-button{opacity:1;pointer-events:all}}.notion-code__copy-button[data-copied=true]{opacity:1;pointer-events:all;background:var(--color-bg-yellow)}.notion-code__copy-button[data-copied=true]:hover{background:var(--color-bg-yellow)}.notion-toggle__summary:focus-visible{outline:2px solid rgba(46,170,220,.7);outline-offset:2px;border-radius:6px}.page__publications .notion-toggle__summary{border-radius:14px;padding:10px 12px;margin-inline-start:-12px;margin-inline-end:-12px;background:transparent!important}.page__publications .notion-toggle__content .notion-semantic-string .code,.page__publications .notion-toggle__summary .notion-semantic-string .code{border-radius:3px;padding:.16em .34em}.page__publications .notion-toggle>.notion-toggle__summary{transition:background-color .16s cubic-bezier(.2,.9,.2,1),transform .26s cubic-bezier(.16,1,.3,1)}.page__publications .notion-toggle.open>.notion-toggle__summary,.page__publications .notion-toggle>.notion-toggle__summary:focus-visible,.page__publications .notion-toggle>.notion-toggle__summary:hover{background:rgba(55,53,47,.06)!important}@media (prefers-reduced-motion:reduce){.page__publications .notion-toggle>.notion-toggle__summary{transition:background-color .12s linear}}.page__publications .notion-toggle__content{font-size:var(--v1-type-body);line-height:1.5}.page__publications .notion-toggle__content .notion-quote,.page__publications .notion-toggle__content .notion-quote>*{font-size:inherit}.page__publications .notion-toggle__content .notion-quote .notion-semantic-string{white-space:normal}.page__publications .notion-toggle__content .notion-quote em:has(.code){display:inline}.page__publications .highlighted-background.bg-orange,.page__publications .highlighted-background.bg-purple,.page__publications .highlighted-background.bg-red{display:inline-block;padding:.2em .54em;border-radius:4px;margin:0 .12em;line-height:1.25;vertical-align:baseline;box-decoration-break:clone;-webkit-box-decoration-break:clone}.page__publications .highlighted-background.bg-orange .code,.page__publications .highlighted-background.bg-purple .code,.page__publications .highlighted-background.bg-red .code{padding:0;border-radius:0;background:transparent;font-size:.92em;font-family:var(--secondary-font);font-style:italic}@media (hover:none){.notion-toggle__summary{-webkit-tap-highlight-color:transparent}.notion-toggle__summary:active{background:rgba(55,53,47,.06);border-radius:6px}}@media (prefers-reduced-motion:no-preference){.notion-toggle.open>.notion-toggle__content{animation:toggle-content-in .26s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}}@keyframes toggle-content-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.notion-caption,.notion-page__properties{font-size:var(--v1-type-small)}.notion-quote>*{font-size:16px}.notion-toggle[data-toggle-kind=references] .notion-toggle__content{font-size:var(--v1-type-ref);line-height:1.55}.notion-toggle[data-toggle-kind=references] .notion-list-item{margin:.25em 0}.notion-toggle[data-toggle-kind=references] .notion-quote,.notion-toggle[data-toggle-kind=references] .notion-text__content{font-size:inherit}.notion-callout{align-items:flex-start;gap:10px}.notion-callout .notion-callout__icon{top:0;margin-top:2px;flex:0 0 auto}.notion-callout .notion-callout__content{margin-inline-start:0;min-width:0}@media (max-width:546px){.notion-callout{gap:8px}}.notion-equation__block{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.notion-equation.notion-equation__inline{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.notion-code pre,.notion-collection-table__wrapper,.notion-table__wrapper{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.notion-code .token.cdata,.notion-code .token.comment,.notion-code .token.doctype,.notion-code .token.prolog{color:rgba(55,53,47,.55)}.notion-code .token.punctuation{color:rgba(55,53,47,.92)}.notion-code .token.namespace{opacity:.7}.notion-code .token.constant,.notion-code .token.deleted,.notion-code .token.property,.notion-code .token.symbol,.notion-code .token.tag{color:#d73a49}.notion-code .token.boolean,.notion-code .token.number{color:#005cc5}.notion-code .token.attr-name,.notion-code .token.builtin,.notion-code .token.char,.notion-code .token.inserted,.notion-code .token.selector,.notion-code .token.string{color:#22863a}.notion-code .token.entity,.notion-code .token.operator,.notion-code .token.url{color:#b15c00}.notion-code .token.atrule,.notion-code .token.attr-value,.notion-code .token.keyword{color:#6f42c1}.notion-code .token.class-name,.notion-code .token.function{color:#005cc5}.notion-code .token.important,.notion-code .token.regex,.notion-code .token.variable{color:#e36209}.notion-code .token.bold{font-weight:700}.notion-code .token.italic{font-style:italic}@media (min-width:900px){.notion-collection-table th,.notion-table.col-header tr:first-child td{position:sticky;top:calc(var(--navbar-height) + 12px);z-index:2;background:var(--color-bg-default)}}