body:has(>main>.tp-site){margin:0}.tp-site{--tp-site-gutter:40px;--tp-site-measure:1200px;box-sizing:border-box;background:var(--tp-background);min-block-size:100dvh;color:var(--tp-text-body);font:var(--tp-type-text);grid-template-columns:minmax(0,1fr);display:grid}@media (max-width:760px){.tp-site{--tp-site-gutter:16px}}:where(.tp-site) :where(h1,h2,h3,p,ul,ol,dl,dd,figure){margin:0}:where(.tp-site) :where(h1,h2,h3){color:var(--tp-text-heading)}:where(.tp-site) :where(a){color:var(--tp-brand-text);text-underline-offset:3px}.tp-site :where(a,button,input,[tabindex]):focus-visible{outline:var(--tp-focus-outline);outline-offset:var(--tp-focus-offset);border-radius:var(--tp-radius-mark)}.tp-site .tp-button{border-radius:999px}.tp-site .tp-button:is([data-size=md],[data-size=lg]){min-block-size:48px;padding:0 22px}.tp-site .tp-button[data-size=sm]{min-block-size:40px;padding:0 16px}.tp-site .tp-button:has(>.tp-site__tile){gap:10px;padding-inline-start:7px}.tp-site .tp-button[data-tone=outline]{border-color:var(--tp-border-strong);background:var(--tp-surface);box-shadow:var(--tp-site-shadow-rest)}.tp-site__tile{background:var(--tp-site-accent);block-size:34px;inline-size:34px;color:var(--tp-site-accent-ink);border-radius:50%;flex:none;place-items:center;display:inline-grid}.tp-site .tp-button[data-size=sm]>.tp-site__tile{block-size:28px;inline-size:28px}:root[data-theme=dark] .tp-site__tile{background:var(--tp-site-accent-ink);color:var(--tp-site-accent)}.tp-site__skip{z-index:2;border:1px solid var(--tp-border-strong);border-radius:var(--tp-radius-box);background:var(--tp-surface);color:var(--tp-text-heading);font:var(--tp-type-text);padding:8px 12px;position:absolute;inset-block-start:8px;inset-inline-start:8px;transform:translateY(-200%)}.tp-site__skip:focus{transform:none}.tp-site__content{outline:none;grid-template-columns:minmax(0,1fr);align-content:start;display:grid}.tp-site__header{padding-block:18px;padding-inline:max(var(--tp-site-gutter), calc((100% - var(--tp-site-measure)) / 2));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;display:grid}.tp-site__brand{font:var(--tp-type-button);letter-spacing:-.02em;justify-self:start;align-items:center;gap:10px;font-size:19px;display:inline-flex}a.tp-site__brand{color:var(--tp-text-heading);text-decoration:none}.tp-site__nav ul{flex-wrap:wrap;align-items:center;gap:8px;padding:0;list-style:none;display:flex}.tp-site__nav a{box-sizing:border-box;min-block-size:36px;font:var(--tp-type-text);color:var(--tp-text-heading);transition:background-color var(--tp-motion-hover) var(--tp-ease-hover), color var(--tp-motion-hover) var(--tp-ease-hover);border-radius:999px;align-items:center;padding:4px 14px;font-weight:500;text-decoration:none;display:inline-flex}.tp-site__nav a:hover{background:var(--tp-tint);color:var(--tp-text-heading)}.tp-site__nav a[aria-current=page]{background:var(--tp-brand-bg);color:var(--tp-text-heading)}.tp-site__header>.tp-site__run{justify-self:end}@media (max-width:760px){.tp-site__header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand run""nav nav";gap:12px;padding-block:14px 10px}.tp-site__header>.tp-site__brand{grid-area:brand}.tp-site__header>.tp-site__nav{grid-area:nav}.tp-site__header>.tp-site__run{grid-area:run}.tp-site__nav ul{gap:2px}.tp-site__nav a{padding-inline:10px}}@media (max-width:360px){.tp-site__header .tp-site__brand{gap:8px;font-size:17px}.tp-site__nav a{padding-inline:8px}}.tp-site__footer{padding-block:56px 48px;padding-inline:max(var(--tp-site-gutter), calc((100% - var(--tp-site-measure)) / 2));background:var(--tp-surface-raised);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px 40px;display:grid}.tp-site__about{align-content:start;gap:14px;display:grid}.tp-site__about p{max-inline-size:40ch;font:var(--tp-type-prose);color:var(--tp-text-body);font-size:16px}.tp-site__more{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.tp-site__group{align-content:start;gap:10px;display:grid}.tp-site__group-title{font:var(--tp-type-text);color:var(--tp-text-heading);font-weight:500}.tp-site__group ul{gap:2px;padding:0;list-style:none;display:grid}.tp-site__group a{color:var(--tp-text-body);transition:color var(--tp-motion-hover) var(--tp-ease-hover);padding-block:4px;text-decoration:none;display:inline-block}.tp-site__group a:hover{color:var(--tp-text-heading);text-decoration:underline}.tp-site__note{border-block-start:1px dashed var(--tp-border-strong);font:var(--tp-type-text);color:var(--tp-text-secondary);grid-column:1/-1;padding-block-start:20px;font-size:14px}@media (max-width:760px){.tp-site__footer{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.tp-site__nav a,.tp-site__group a{transition:none}}
.tp-site{--tp-site-rails:max(8px, calc((100% - var(--tp-site-measure)) / 2 - 56px));--tp-site-ring:radial-gradient(circle, var(--tp-background) 0 2.5px, var(--tp-border-strong) 3px 4px, transparent 4.5px);position:relative}.tp-site:before{content:"";z-index:1;inset-block:0;inset-inline:var(--tp-site-rails);border-inline:1px solid var(--tp-border);pointer-events:none;position:absolute}.tp-site__section,.tp-site__footer{position:relative}.tp-site__section:before,.tp-site__footer:before{content:"";z-index:2;inset-block-start:-5px;inset-inline:calc(var(--tp-site-rails) - 4px);background:var(--tp-site-ring) left center / 9px 9px no-repeat, var(--tp-site-ring) right center / 9px 9px no-repeat, linear-gradient(var(--tp-border), var(--tp-border)) center / 100% 1px no-repeat;pointer-events:none;block-size:9px;position:absolute}.tp-site__header{position:relative}.tp-site__header:after{content:"";inset-block-end:-5px;inset-inline:calc(var(--tp-site-rails) - 4px);background:var(--tp-site-ring) left center / 9px 9px no-repeat, var(--tp-site-ring) right center / 9px 9px no-repeat, linear-gradient(var(--tp-border), var(--tp-border)) center / 100% 1px no-repeat;pointer-events:none;block-size:9px;position:absolute}@media (max-width:760px){.tp-site:before{display:none}.tp-site__header:after,.tp-site__section:before,.tp-site__footer:before{background:linear-gradient(var(--tp-border), var(--tp-border)) center / 100% 1px no-repeat;inset-inline:0}}
