.heading{box-sizing:border-box;background:var(--color-background);border:var(--border-width) solid var(--color-heading-text);box-shadow:8px 9px 0 0 var(--color-heading-text);color:var(--color-heading-text);text-transform:uppercase;text-align:center;margin:0;padding:12px 24px;display:inline-block}.heading--error{border-color:var(--color-heading-error-border);box-shadow:8px 9px 0 0 var(--color-heading-error-shadow);color:var(--color-heading-error-text)}.heading__label{justify-items:center;display:grid}.heading__sizer,.heading__typed{grid-area:1/1}.heading__sizer{visibility:hidden;white-space:pre-wrap}.heading__typed{white-space:pre-wrap}.heading__caret{vertical-align:-.12em;background:currentColor;width:.55ch;height:1em;margin-left:.1ch;animation:.9s step-end infinite heading-caret-blink;display:inline-block}.heading__caret--spacer{visibility:hidden;animation:none}@keyframes heading-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.heading__caret{animation:none;display:none}}
.loader{--loader-cell:8px;--loader-gap:2px;--loader-duration:2s;--loader-idle:var(--color-loader-idle);--loader-active:var(--color-loader-active);grid-template-columns:repeat(4, var(--loader-cell));gap:var(--loader-gap);width:fit-content;display:grid}.loader__cell{width:var(--loader-cell);height:var(--loader-cell);background-color:var(--loader-idle);position:relative;overflow:clip}.loader__cell:after{content:"";background-color:var(--loader-active);opacity:0;position:absolute;inset:0}.loader__cell[data-role=corner]:after{animation:loader-corner-pulse var(--loader-duration) ease-in-out infinite}.loader__cell[data-role=inner][data-inner-step="0"]:after{animation:loader-inner-0 var(--loader-duration) linear infinite}.loader__cell[data-role=inner][data-inner-step="1"]:after{animation:loader-inner-1 var(--loader-duration) linear infinite}.loader__cell[data-role=inner][data-inner-step="2"]:after{animation:loader-inner-2 var(--loader-duration) linear infinite}.loader__cell[data-role=inner][data-inner-step="3"]:after{animation:loader-inner-3 var(--loader-duration) linear infinite}.loader[data-paused=true] .loader__cell:after{animation-play-state:paused}@keyframes loader-corner-pulse{0%,8%{opacity:0}22%,58%{opacity:1}72%,to{opacity:0}}@keyframes loader-inner-0{0%,1%{opacity:0}3%,9%{opacity:1}12.5%,87.5%{opacity:0}91%,97%{opacity:1}99%,to{opacity:0}}@keyframes loader-inner-1{0%,12.5%{opacity:0}15.5%,21.5%{opacity:1}25%,75%{opacity:0}78.5%,84.5%{opacity:1}87.5%,to{opacity:0}}@keyframes loader-inner-2{0%,25%{opacity:0}28%,34%{opacity:1}37.5%,62.5%{opacity:0}65.5%,71.5%{opacity:1}75%,to{opacity:0}}@keyframes loader-inner-3{0%,37.5%{opacity:0}40.5%,46.5%{opacity:1}50%{opacity:0}53%,59%{opacity:1}62.5%,to{opacity:0}}@keyframes loader-soft-pulse{0%,to{opacity:.2}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.loader__cell[data-role=corner]:after,.loader__cell[data-role=inner]:after{animation:1.6s ease-in-out infinite loader-soft-pulse}}
