@keyframes tn-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes tn-dish-spin{0%{transform:rotateX(60deg)rotate(0)}to{transform:rotateX(60deg)rotate(360deg)}}@keyframes tn-scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes tn-walk{0%{translate:0}to{translate:var(--walk-x,3rem) var(--walk-y,0)}}@keyframes tn-hover{0%,to{translate:0}50%{translate:0 -.4rem}}@keyframes tn-slide-in{0%{opacity:0;transform:translate(1.5rem)}12%,82%{opacity:1;transform:none}94%,to{opacity:0;transform:translate(-.75rem)}}@keyframes tn-rank{0%,30%{translate:0 var(--from)}48%,88%{translate:0 var(--to)}to{translate:0 var(--from)}}@keyframes tn-travel{0%{opacity:0;left:0}12%,88%{opacity:1}to{opacity:0;left:calc(100% - .45rem)}}@keyframes tn-rise{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:none}}.tn-scene[data-surface]{--background:var(--scene-bg);--foreground:var(--scene-fg);--card:var(--scene-card);--muted-foreground:var(--scene-muted);--border:var(--scene-line);--brand-300:var(--scene-accent);background-color:var(--scene-bg);color:var(--scene-fg)}@keyframes tn-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes tn-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes tn-phase-a{0%,38%{opacity:1}48%,92%{opacity:0}to{opacity:1}}@keyframes tn-phase-b{0%,38%{opacity:0}48%,92%{opacity:1}to{opacity:0}}@keyframes tn-sweep{0%,30%{opacity:0;transform:translate(-100%)}34%{opacity:1}52%{opacity:1;transform:translate(300%)}56%,to{opacity:0;transform:translate(300%)}}@keyframes tn-drift{0%,to{translate:22px -30px;rotate:-9deg}50%{translate:30px -44px;rotate:-4deg}}:root.tn-theme-switch::view-transition-old(root){mix-blend-mode:normal;animation:none}:root.tn-theme-switch::view-transition-new(root){mix-blend-mode:normal;animation:none}@property --tn-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes tn-angle{to{--tn-angle:360deg}}.tn-compose-ring{background:conic-gradient(from var(--tn-angle), transparent 0deg 200deg, color-mix(in oklch, var(--hue) 85%, transparent) 285deg, var(--brand-300) 330deg, transparent 360deg);opacity:.55;transition:opacity .5s;animation:8s linear infinite tn-angle}.tn-compose-ring-fast{opacity:0;animation-duration:1.5s}[data-typing]>.tn-compose-ring-fast{opacity:1}@keyframes tn-caught{0%{filter:none;transform:scale(1)}30%{filter:drop-shadow(0 0 16px var(--brand-300));transform:scale(1.14)}to{filter:none;transform:scale(1)}}[data-caught]{animation:.9s cubic-bezier(.2,0,0,1) tn-caught}.tn-demo[data-playing=false] *,.tn-demo[data-playing=false] :before,.tn-demo[data-playing=false] :after{animation-play-state:paused!important}::view-transition-group(.tn-morph){animation-duration:.48s;animation-timing-function:cubic-bezier(.2,0,0,1)}@media (prefers-reduced-motion:reduce){.tn-compose-ring,[data-caught]{animation:none}.tn-demo *,.tn-demo :before,.tn-demo :after{transition:none!important;animation:none!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}
.article-body{color:color-mix(in oklch, var(--foreground) 78%, transparent);text-wrap:pretty;font-size:1.125rem;line-height:1.8}.article-body>*+*{margin-top:1.4rem}.article-body>p:first-child{color:var(--foreground);font-size:1.3125rem;line-height:1.65}.article-body h2,.article-body h3{color:var(--foreground);letter-spacing:-.02em;scroll-margin-top:calc(var(--header-h) + 2rem)}.article-body h2{border-top:1px solid var(--border);margin-top:4rem;padding-top:2.5rem;font-size:clamp(1.625rem,1.3rem + 1vw,2.125rem);line-height:1.15}.article-body h3{margin-top:2.5rem;font-size:1.3125rem;line-height:1.3}.article-body h2+*,.article-body h3+*{margin-top:1rem}.article-body strong{color:var(--foreground);font-weight:600}.article-body a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--brand-500) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--brand-500) 70%, transparent);text-underline-offset:4px;font-weight:500;text-decoration-thickness:1.5px;transition:color .15s,text-decoration-color .15s}.article-body a:hover{color:var(--brand-300);-webkit-text-decoration-color:var(--brand-300);text-decoration-color:var(--brand-300)}.article-body a[target=_blank]:after{content:"↗";opacity:.6;margin-left:.125em;font-size:.75em}.article-body ul,.article-body ol{padding-left:1.4rem}.article-body ul{list-style:outside}.article-body ol{list-style:decimal}.article-body li{padding-left:.35rem}.article-body li+li{margin-top:.6rem}.article-body li::marker{color:var(--brand-500);font-weight:600}.article-body h2:is([id^=key-takeaways],[id^=quick-answer],[id^=tl-dr],[id^=in-short]){font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-300);border-top:0;margin-top:2.5rem;margin-bottom:-.25rem;padding-top:0;font-size:.75rem;font-weight:500}.article-body h2:is([id^=key-takeaways],[id^=quick-answer],[id^=tl-dr],[id^=in-short])+:is(ul,ol,p){border:1px solid color-mix(in oklch, var(--brand-500) 35%, var(--border));background:radial-gradient(120% 140% at 0% 0%, color-mix(in oklch, var(--brand-500) 14%, transparent), transparent 60%), var(--card);border-radius:1.25rem;margin-top:.75rem;padding:1.5rem 1.75rem 1.5rem 2.75rem;font-size:1.0625rem}.article-body h2:is([id^=key-takeaways],[id^=quick-answer],[id^=tl-dr],[id^=in-short])+p{padding-left:1.75rem}.article-body blockquote{border-left:3px solid var(--brand-500);background:color-mix(in oklch, var(--brand-500) 7%, transparent);color:var(--foreground);border-radius:0 1rem 1rem 0;padding:1.25rem 1.5rem;position:relative}.article-body blockquote>*+*{margin-top:.75rem}.article-body code{font-family:var(--font-geist-mono), ui-monospace, monospace;background:var(--muted);border:1px solid var(--border);border-radius:.375rem;padding:.1rem .35rem;font-size:.85em}.article-body pre{background:var(--muted);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;font-size:.9375rem;line-height:1.6;overflow-x:auto}.article-body pre code{background:0 0;border:0;padding:0}.article-body table{border:1px solid var(--border);border-spacing:0;border-collapse:separate;border-radius:1rem;width:max-content;min-width:100%;max-width:100%;font-size:.9375rem;line-height:1.55;display:block;overflow-x:auto}.article-body th,.article-body td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.85rem 1rem}.article-body th+th,.article-body td+td{border-left:1px solid var(--border)}.article-body tbody tr:last-child td{border-bottom:0}.article-body tbody tr:nth-child(2n) td{background:color-mix(in oklch, var(--muted) 45%, transparent)}.article-body th{color:var(--foreground);background:var(--muted);letter-spacing:.01em;font-size:.8125rem;font-weight:600}.article-body td:first-child{color:var(--foreground);font-weight:500}.article-body hr{border:0;border-top:1px solid var(--border);margin-block:3rem}.article-body em{font-style:italic}@media not (min-width:40rem){.article-body{font-size:1.0625rem}.article-body>p:first-child{font-size:1.1875rem}.article-body h2:is([id^=key-takeaways],[id^=quick-answer],[id^=tl-dr],[id^=in-short])+:is(ul,ol,p){padding:1.25rem 1.25rem 1.25rem 2.25rem}}
