:root,[data-md-color-scheme=default]{--specs-accent:#313a88;--specs-accent-hover:#4d57c4;--specs-accent-2:#5b4fcf;--specs-accent-rgb:49 58 136;--specs-spark:#313a88;--md-default-bg-color:#f4f4fb;--md-primary-fg-color:#313a88}[data-md-color-scheme=slate]{--specs-accent:#a5adff;--specs-accent-hover:#c9ceff;--specs-accent-2:#ceff05;--specs-accent-rgb:165 173 255;--specs-spark:#ceff05;--md-default-bg-color:#191525;--md-primary-fg-color:#191525}[data-md-color-accent=indigo]{--md-accent-fg-color:var(--specs-accent);--md-accent-fg-color--transparent:rgb(var(--specs-accent-rgb) / 0.1)}.md-typeset h1,.md-typeset h2,.md-typeset h3,.md-header__topic,.md-tabs__link{font-family:var(--specs-display-font);letter-spacing:-.01em}.md-typeset a:not(.md-button):not(.btn-primary):not(.btn-secondary):not(.md-nav__link):not(.md-logo):not(.md-header__button):not(.headerlink):not(.md-footer__link):not(.md-tabs__link):not(.md-source):not(.blog-link){color:var(--specs-accent);text-decoration:underline;text-underline-offset:.15em}.md-typeset a:not(.md-button):not(.btn-primary):not(.btn-secondary):not(.md-nav__link):not(.md-logo):not(.md-header__button):not(.headerlink):not(.md-footer__link):not(.md-tabs__link):not(.md-source):not(.blog-link):hover{color:var(--specs-accent-hover)}.md-typeset .headerlink{color:rgb(var(--specs-accent-rgb)/.45)}.md-nav__item .md-nav__link--active{color:var(--specs-accent)}.md-sidebar__scrollwrap{scrollbar-color:rgb(var(--specs-accent-rgb)/.3)transparent}::selection{background:rgb(var(--specs-accent-rgb)/.25)}.md-typeset th{border-bottom:2px solid rgb(var(--specs-accent-rgb)/.4)}.md-typeset blockquote{border-left:3px solid rgb(var(--specs-accent-rgb)/.45)}.md-tabs__link--active{border-bottom:2px solid var(--specs-accent)}.md-typeset .grid.cards{grid-template-columns:repeat(3,1fr)}@media(max-width:960px){.md-typeset .grid.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.md-typeset .grid.cards{grid-template-columns:1fr}}.md-typeset .toc-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.team-avatar{border-radius:50%;width:80px;height:80px;object-fit:cover;border:none;box-shadow:0 0 0 3px var(--md-default-bg-color),0 0 0 5px rgb(var(--specs-accent-rgb)/.45)}.md-typeset .grid.cards>ul>li{display:flex!important;flex-direction:column;align-items:center;text-align:center;padding:1.2rem .8rem;transition:transform.2s,border-color.2s}.md-typeset .grid.cards>ul>li:hover{transform:translatey(-2px);border-color:rgb(var(--specs-accent-rgb)/.45)}.md-typeset .grid.cards>ul>li>p:first-child{margin:0 0 .6rem}.md-typeset .grid.cards>ul>li>h4{margin:0 0 .3rem;font-size:.95rem;scroll-margin-top:14rem}.md-typeset .grid.cards>ul>li>h4 .headerlink{position:absolute}.md-typeset .grid.cards>ul>li>p:not(:first-child):not(:last-child){margin:0 0 .4rem;font-size:.78rem;line-height:1.4;color:var(--md-default-fg-color--light);text-align:left;align-self:stretch}.md-typeset .grid.cards>ul>li>p:last-child{margin:auto 0 0;padding-top:.4rem;align-self:stretch;text-align:left}.grid.cards .md-button{min-width:1.9rem;width:1.9rem;height:1.9rem;padding:0;border-radius:50%;margin:.1rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:border-color.15s,color.15s}.grid.cards .md-button:hover{border-color:rgb(var(--specs-accent-rgb)/.6);color:var(--specs-accent)}.grid.cards .md-button svg{display:block;margin:0 auto}.logo-light,.logo-dark{display:none!important}[data-md-color-scheme=default] .logo-light,[data-md-color-scheme=slate] .logo-dark{display:block!important;margin:0 auto}[data-md-color-scheme=default] .md-header__button.md-logo img,[data-md-color-scheme=default] .md-logo img{content:url(../images/home/specs.png)!important}[data-md-color-scheme=slate] .md-header__button.md-logo img,[data-md-color-scheme=slate] .md-logo img{content:url(../images/home/specs-dark.png)!important}.blog-metadata{color:var(--md-default-fg-color--light);font-size:.9rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgb(var(--specs-accent-rgb)/.2)}.blog-metadata .twemoji{height:1.1em;vertical-align:text-bottom;color:inherit}.md-typeset a.blog-link{color:inherit;text-decoration:none}.md-typeset a.blog-link:hover{color:var(--md-accent-fg-color)}.blog-metadata__avatar{width:1.4em;height:1.4em;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:.3em}.md-typeset .team-tag{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--specs-accent);background:rgb(var(--specs-accent-rgb)/.12)}.md-typeset .grid.cards>ul>li>p:has(>.team-tag){text-align:center!important;margin-bottom:.6rem!important}.hero-container{display:flex;justify-content:center;padding:2rem 1rem 4rem}.hero-content{max-width:920px}.md-typeset h1.hero-title{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;color:var(--md-default-fg-color)}.md-typeset .hero-title .headerlink{display:none}.hero-content>p{font-size:1.15rem;line-height:1.6;opacity:.88;margin-bottom:2.25rem}.highlight{font-weight:700;color:var(--specs-accent)}[data-md-color-scheme=slate] .highlight{color:var(--specs-spark)}.layer-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media(max-width:768px){.layer-cards{grid-template-columns:1fr}}.layer-card{display:flex;flex-direction:column;padding:1.4rem 1.4rem 1.2rem;border:1px solid rgb(var(--specs-accent-rgb)/.3);border-radius:14px;background:rgb(var(--specs-accent-rgb)/5%)}.md-typeset .layer-card p{margin:0 0 1rem;font-size:.85rem;line-height:1.55}.md-typeset .layer-card__label{font-family:var(--specs-display-font);font-size:1.5rem!important;font-weight:700;letter-spacing:-.01em;color:var(--specs-accent);margin-bottom:.6rem!important}.md-typeset .layer-card__links{display:flex;flex-wrap:wrap;gap:.5rem;margin:auto 0 0!important}.btn-primary,.btn-secondary{display:inline-block;padding:.5rem .9rem;border-radius:8px;font-weight:600;font-size:.75rem;text-decoration:none!important;transition:transform.2s,background.2s,box-shadow.2s}.btn-primary{background:var(--specs-accent);color:var(--md-default-bg-color)!important}.btn-primary:hover{transform:translatey(-1px);box-shadow:0 4px 14px rgb(var(--specs-accent-rgb)/.35)}.btn-secondary{border:2px solid var(--specs-accent);color:var(--specs-accent)!important}.btn-secondary:hover{transform:translatey(-1px);background:rgb(var(--specs-accent-rgb)/.1)}.md-typeset img.about-logo{width:96px}