@layer components{.card-lift{--lift-shadow:0 1px 2px #1111100a, 0 12px 28px -14px #1111102e;transition:translate .2s ease-out,box-shadow .2s ease-out,background-color .2s ease-out}[data-theme=dark] .card-lift{--lift-shadow:0 1px 2px #0006, 0 14px 32px -14px #000000b3}.card-lift:focus-within{box-shadow:var(--lift-shadow)}@media (hover:hover) and (pointer:fine){.card-lift:hover{box-shadow:var(--lift-shadow)}}@media (prefers-reduced-motion:no-preference){.card-lift:focus-within{translate:0 -2px}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.card-lift:hover{translate:0 -2px}[data-spotlight]{isolation:isolate;position:relative}[data-spotlight]:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(26rem circle at var(--spot-x,50%) var(--spot-y,50%), var(--accent-soft), transparent 65%);opacity:0;transition:opacity .3s ease-out;position:absolute;inset:0}[data-spotlight][data-spot-on]:hover:before{opacity:1}}.count-up[data-counting]>:first-child{opacity:0}@media print{.count-up[data-counting]>:first-child{opacity:1}.count-up>:last-child{display:none}}.shimmer-text{color:var(--muted)}@supports ((-webkit-background-clip:text) or (background-clip:text)){@media (prefers-reduced-motion:no-preference) and (forced-colors:none){.shimmer-text{background-image:linear-gradient(100deg, var(--muted) 40%, var(--fg) 50%, var(--muted) 60%);color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite shimmer-sweep}}}}@media (prefers-reduced-motion:no-preference){.mobile-menu:not([hidden]){animation:.2s ease-out menu-fade}.mobile-menu:not([hidden])>*{animation:.26s ease-out menu-rise}}@keyframes menu-fade{0%{opacity:0}}@keyframes menu-rise{0%{translate:0 12px}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.draw-in{transform-box:fill-box;transform-origin:0;animation:linear both draw-in;animation-timeline:view();animation-range:entry 20% cover 45%}}}@keyframes draw-in{0%{scale:0 1}}@keyframes shimmer-sweep{0%{background-position:100% 0}to{background-position:0 0}}@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}@media (prefers-reduced-motion:no-preference){details.smooth::details-content{block-size:0;transition:block-size .26s ease-out, content-visibility .26s allow-discrete;overflow:clip}.more-on-phones::details-content{block-size:0;transition:block-size .26s ease-out, content-visibility .26s allow-discrete;overflow:clip}details.smooth[open]::details-content{block-size:auto}.more-on-phones[open]::details-content{block-size:auto}}}@supports selector(::details-content){@media (min-width:768px){.more-on-phones>summary{display:none}.more-on-phones::details-content{content-visibility:visible;block-size:auto}}}@media (prefers-reduced-motion:no-preference){button:not(:disabled):active,.press:active{scale:.97}}.cite-pop{display:none}@supports selector(:popover-open){.cite-link{display:none}.cite-pop{display:inline}}@supports not selector(:popover-open){.cite-popover{display:none}}.cite-popover{color:var(--fg);background:var(--panel-raised);box-shadow:0 0 0 1px color-mix(in oklab, var(--fg) 14%, transparent), 0 18px 40px -12px #00000059;border:0;margin:auto}[data-theme=dark] .cite-popover{background:color-mix(in oklab, var(--panel-raised) 92%, var(--fg) 8%);box-shadow:0 0 0 1px color-mix(in oklab, var(--fg) 22%, transparent), 0 18px 40px -8px #000000b3}@supports (position-area:bottom){.cite-popover{position-area:bottom span-right;position-try-fallbacks:flip-block, flip-inline;margin:.4rem 0 0}}@media (max-width:639px){.cite-popover{position-area:none;width:auto;max-width:none;margin:0;position:fixed;inset:auto 1rem 1rem}}@media print{.cite-link{display:inline}.cite-pop{display:none}}.cite-note{display:none}@media (min-width:1280px){.prose-notes:has(.cite-note){display:flow-root}.prose-notes .cite-note{float:right;clear:right;text-align:left;vertical-align:baseline;width:15rem;margin:.15rem -17rem .5rem 0;font-size:.75rem;font-weight:400;line-height:1.45;display:block}.prose-notes .cite-pop{display:none}.prose-notes .cite-link{display:inline}}@media print{.prose-notes .cite-note{display:none}}:target:not(section,main,body){animation:2s ease-out target-glow}@keyframes target-glow{0%{background-color:var(--selection)}}@media (prefers-reduced-motion:reduce){:target:not(section,main,body){background-color:color-mix(in oklab, var(--accent) 12%, transparent)}}.phone-fold-toggle{display:none}@media (max-width:767px){.phone-fold:not(:has(.phone-fold-toggle input:checked)) [data-fold]:not(:target){display:none}.phone-fold-toggle{min-height:2.75rem;color:var(--accent-ink);cursor:pointer;align-items:center;font-size:.875rem;font-weight:500;display:inline-flex}.phone-fold-toggle:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.phone-fold:has(.phone-fold-toggle input:checked) .phone-fold-toggle{display:none}}::view-transition-group(.morph){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(.morph){object-fit:contain;object-position:left top;height:100%}::view-transition-new(.morph){object-fit:contain;object-position:left top;height:100%}::view-transition-image-pair(.morph){animation-name:morph-soften}@keyframes morph-soften{40%{filter:blur(2px)}}::view-transition-old(root){animation-duration:.2s;animation-timing-function:ease-out}::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease-out}.site-header{view-transition-name:site-header}::view-transition-group(site-header){animation:none}::view-transition-new(site-header){animation:none}::view-transition-old(site-header){display:none}::view-transition{pointer-events:none}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-image-pair(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media (prefers-reduced-motion:no-preference){.rise-in{animation:.25s ease-out both rise-in;animation-delay:calc(var(--i,0) * 40ms)}}@keyframes rise-in{0%{opacity:0;translate:0 6px}}
