@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,600;1,600&display=swap");.tf-shell{--ink:#16130f;--ink-2:#3a332b;--muted:#6e6459;--faint:#a2988b;--paper:#faf7f2;--surface:#ffffff;--surface-2:#f3ede4;--line:#e7ded1;--line-strong:#d5c8b6;--ember:#b4491d;--ember-deep:#8f380f;--ember-soft:#fbeee6;--ember-line:#eccdb9;--teal:#0f5d54;--teal-soft:#e6f2ef;--font-display:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif;--font-sans:var(--font-geist-sans),ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,"SF Mono",monospace;--gutter:clamp(0.75rem,2vw,2rem);--measure:90vw;--r-sm:6px;--r-md:6px;--r-lg:6px;--r-xl:6px;--r:6px;--shadow-sm:0 1px 2px rgba(22,19,15,0.04),0 1px 1px rgba(22,19,15,0.03);--shadow-md:0 12px 28px -18px rgba(22,19,15,0.35),0 2px 6px rgba(22,19,15,0.04);--shadow-lg:0 40px 80px -48px rgba(22,19,15,0.45),0 4px 12px rgba(22,19,15,0.05);--ease:cubic-bezier(0.22,1,0.36,1);isolation:isolate;min-height:100vh;width:100%;position:relative;text-align:left;line-height:1.5;font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.dark .tf-shell,.tf-shell,html[data-theme=dark] .tf-shell{color-scheme:light!important;background:var(--paper)!important;color:var(--ink-2)!important}@media (min-width:640px){.tf-shell{--gutter:clamp(1rem,2vw,2.5rem)}}@media (min-width:1024px){.tf-shell{--gutter:clamp(1rem,2.5vw,3rem)}}.tf-shell .tf-container{width:90vw;max-width:90vw;margin-inline:auto;padding-inline:0}.tf-shell .tf-section{padding-block:clamp(3.5rem,8vw,7rem)}.tf-shell .tf-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(1.75rem,4vw,3rem)}.tf-shell .tf-sec-head>div{max-width:46rem}.tf-shell .tf-eyebrow,.tf-shell .tf-kicker{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 .85rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}.tf-shell .tf-kicker:before{content:"";width:1.75rem;height:1px;background:currentColor;opacity:.5}.tf-shell .tf-h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.85rem,4.2vw,3rem);line-height:1.08;letter-spacing:-.02em;color:var(--ink)}.tf-shell .tf-lede{margin:.9rem 0 0;max-width:38rem;font-size:clamp(.95rem,1.4vw,1.0625rem);line-height:1.65;color:var(--muted)}.tf-shell .tf-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.875rem;padding:.75rem 1.35rem;border:1px solid transparent;border-radius:999px;font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.tf-shell .tf-button:hover{transform:translateY(-1px)}.tf-shell .tf-button:active{transform:translateY(0)}.tf-shell .tf-button-primary{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.tf-shell .tf-button-primary:hover{background:var(--ember);box-shadow:var(--shadow-md)}.tf-shell .tf-button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.tf-shell .tf-button-secondary:hover{border-color:var(--ink);background:var(--surface)}.tf-shell .tf-button-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.tf-shell .tf-button-ghost:hover{background:var(--surface-2);border-color:var(--line-strong)}.tf-shell .tf-button-ember{background:var(--ember);color:#fff}.tf-shell .tf-button-ember:hover{background:var(--ember-deep)}.tf-shell .tf-heading-link,.tf-shell .tf-textlink{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:color .2s var(--ease),border-color .2s var(--ease),gap .2s var(--ease)}.tf-shell .tf-heading-link:hover,.tf-shell .tf-textlink:hover{color:var(--ember);border-color:var(--ember);gap:.7rem}.tf-shell .tf-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.tf-shell .tf-badge--source{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);color:var(--ink)}.tf-shell .tf-badge--original{background:var(--teal-soft);border-color:transparent;color:var(--teal)}.tf-shell .tf-badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.tf-shell .tf-header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.tf-shell .tf-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.25rem}.tf-shell .tf-brand{display:inline-flex;align-items:center;gap:.6rem;min-width:0}.tf-shell .tf-brand-by{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-nav{display:none;align-items:center;gap:.35rem}@media (min-width:1024px){.tf-shell .tf-nav{display:flex}}.tf-shell .tf-nav a{padding:.5rem .8rem;border-radius:999px;font-size:.875rem;font-weight:500;color:var(--ink-2);text-decoration:none;transition:background .18s var(--ease),color .18s var(--ease)}.tf-shell .tf-nav a:hover{background:var(--surface-2);color:var(--ink)}.tf-shell .tf-header-actions{display:none}@media (min-width:1024px){.tf-shell .tf-header-actions{display:flex;align-items:center;gap:.6rem}}.tf-shell .tf-menu-button{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}@media (min-width:1024px){.tf-shell .tf-menu-button{display:none}}.tf-shell .tf-mobile-menu{display:flex;flex-direction:column;gap:.25rem;padding:.75rem var(--gutter) 1.25rem;border-top:1px solid var(--line);background:var(--paper)}.tf-shell .tf-mobile-menu a{padding:.85rem .5rem;border-radius:var(--r-sm);font-size:1rem;font-weight:500;color:var(--ink);text-decoration:none}.tf-shell .tf-mobile-menu a:hover{background:var(--surface-2)}.tf-shell .tf-mobile-menu .tf-button{margin-top:.5rem}.tf-shell .tf-hero-v3{position:relative;min-height:calc(100svh - 4.25rem);display:grid;grid-template-rows:1fr auto;padding-block:clamp(2rem,5vh,3.25rem) 0;overflow:clip;isolation:isolate}@media (max-height:780px){.tf-shell .tf-hero-v3{padding-top:clamp(1.25rem,4vh,4rem)}}@media (max-width:899px){.tf-shell .tf-hero-v3{align-content:center;min-height:calc(100svh - 4.25rem);padding-block:clamp(1rem,5vh,4rem)}}.tf-shell .tf-hero-v3-bloom{position:absolute;inset:0;z-index:-2;background:radial-gradient(50% 56% at 16% 14%,rgba(180,73,29,.15) 0,transparent 68%),radial-gradient(44% 48% at 88% 86%,rgba(15,93,84,.11) 0,transparent 70%),radial-gradient(58% 48% at 50% 44%,rgba(255,255,255,.85) 0,transparent 72%)}.tf-shell .tf-hero-v3-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(180,73,29,.06) 1px,transparent 0),linear-gradient(90deg,rgba(180,73,29,.06) 1px,transparent 0);background-size:58px 58px;-webkit-mask-image:radial-gradient(64% 58% at 50% 44%,transparent 10%,#000 74%);mask-image:radial-gradient(64% 58% at 50% 44%,transparent 10%,#000 74%)}.tf-shell .tf-hero-v3-inner{align-self:center;position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:54rem}.tf-shell .tf-hero-v3-badge{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.4rem;padding:0;border:0;background:none;box-shadow:none;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}.tf-shell .tf-hero-v3-badge:after{content:"";flex-shrink:0;width:1.75rem;height:1px;background:linear-gradient(90deg,currentColor,transparent);opacity:.55}.tf-shell .tf-hero-v3-pulse{flex-shrink:0;width:1.75rem;height:1px;background:linear-gradient(90deg,transparent,currentColor);opacity:.55}.tf-shell .tf-hero-v3 h1{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(2.25rem,5.4vw,4.5rem);line-height:1;letter-spacing:-.036em;color:var(--ink);text-wrap:balance}.tf-shell .tf-hero-v3 h1 em{font-style:italic;color:var(--ember)}.tf-shell .tf-hero-v3-lede{margin:1.4rem auto 0;max-width:46rem;font-size:clamp(.98rem,1.25vw,1.05rem);line-height:1.6;color:var(--ink-2)}.tf-shell .tf-hero-search{display:flex;align-items:center;gap:.65rem;width:100%;max-width:34rem;margin:2rem auto 0;padding:.4rem .4rem .4rem 1.15rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:0 26px 50px -30px rgba(22,19,15,.55),var(--shadow-md);text-decoration:none;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-hero-search:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 32px 62px -30px rgba(22,19,15,.6),var(--shadow-lg)}.tf-shell .tf-hero-search svg{color:var(--faint);flex-shrink:0}.tf-shell .tf-hero-search>span:first-of-type{flex:1;width:0;min-width:0;text-align:left;font-size:.95rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-shell .tf-hero-search .tf-button{flex:0 0 auto;min-width:0;min-height:2.5rem;padding-inline:1.3rem}.tf-shell .tf-hero-v3-quick{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1.1rem}.tf-shell .tf-hero-v3-quick a{padding:.38rem .85rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 76%,transparent);font-size:.8rem;font-weight:500;color:var(--ink-2);text-decoration:none;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.tf-shell .tf-hero-v3-quick a:hover{border-color:var(--ember-line);background:var(--ember-soft);color:var(--ember-deep);transform:translateY(-1px)}.tf-shell .tf-hero-v3-note{margin:1.5rem 0 0;font-family:var(--font-mono);font-size:clamp(.62rem,.92rem - .4vw,.74rem);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-hero-v3-deck{position:relative;z-index:2;display:flex;justify-content:center;align-items:flex-end;margin-top:clamp(1.25rem,3vh,2rem);margin-bottom:clamp(-5rem,-4vh,-2.5rem);pointer-events:none}.tf-shell .tf-hero-deck-card{width:clamp(11rem,17vw,15.5rem);aspect-ratio:3/4;min-height:0;margin-inline:clamp(-2.6rem,-2vw,-1.6rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 46px 74px -42px rgba(22,19,15,.45);transition:transform .45s var(--ease)}.tf-shell .tf-hero-deck-card>.tf-template-preview{width:100%;height:100%}.tf-shell .tf-hero-deck-card .tf-preview-nav b{display:none}.tf-shell .tf-hero-deck-card[data-pos="1"]{transform:rotate(-14deg) translateY(3.5rem);z-index:1}.tf-shell .tf-hero-deck-card[data-pos="2"]{transform:rotate(-7deg) translateY(1.4rem);z-index:2}.tf-shell .tf-hero-deck-card[data-pos="3"]{transform:none;z-index:3}.tf-shell .tf-hero-deck-card[data-pos="4"]{transform:rotate(7deg) translateY(1.4rem);z-index:2}.tf-shell .tf-hero-deck-card[data-pos="5"]{transform:rotate(14deg) translateY(3.5rem);z-index:1}@media (prefers-reduced-motion:no-preference){.tf-shell .tf-hero-deck-card{animation:tf-hero-deal 1s var(--ease) both}.tf-shell .tf-hero-deck-card[data-pos="3"]{animation-delay:.2s}.tf-shell .tf-hero-deck-card[data-pos="2"],.tf-shell .tf-hero-deck-card[data-pos="4"]{animation-delay:.3s}.tf-shell .tf-hero-deck-card[data-pos="1"],.tf-shell .tf-hero-deck-card[data-pos="5"]{animation-delay:.4s}}@keyframes tf-hero-deal{0%{opacity:0;transform:translateY(5rem) rotate(0deg) scale(.94)}}.tf-shell .tf-discover{display:grid;gap:clamp(.65rem,1.2vw,.9rem);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(8.5rem,auto)}@media (min-width:760px){.tf-shell .tf-discover{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1040px){.tf-shell .tf-discover{grid-template-columns:repeat(4,minmax(0,1fr))}}.tf-shell .tf-disc{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:8.5rem;padding:1.1rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;text-decoration:none;isolation:isolate;transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}.tf-shell .tf-disc:hover{transform:translateY(-4px);border-color:var(--ember-line);box-shadow:var(--shadow-lg)}.tf-shell .tf-disc-media{position:absolute;inset:0;z-index:-2;transition:transform .7s var(--ease),opacity .45s var(--ease)}.tf-shell .tf-disc:hover .tf-disc-media{transform:scale(1.05)}.tf-shell .tf-disc:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,19,15,0) 30%,rgba(22,19,15,.86) 88%);transition:opacity .4s var(--ease)}.tf-shell .tf-disc-name{font-family:var(--font-display);font-size:clamp(1.05rem,2vw,1.4rem);font-weight:400;letter-spacing:-.02em;color:#fff}.tf-shell .tf-disc-meta{margin-top:.25rem;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);transition:color .3s var(--ease)}.tf-shell .tf-disc:hover .tf-disc-meta{color:#f5c9b1}@media (min-width:760px){.tf-shell .tf-disc--xl{grid-column:span 2;grid-row:span 2;min-height:18rem}.tf-shell .tf-disc--wide{grid-column:span 2}}@media (min-width:1040px){.tf-shell .tf-disc--xl{min-height:19.5rem}}.tf-shell .tf-disc--xl .tf-disc-name{font-size:clamp(1.5rem,3vw,2.2rem)}.tf-shell .tf-chips{display:flex;flex-wrap:nowrap;gap:.45rem;margin-bottom:clamp(1rem,2vw,1.4rem);overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:.35rem}.tf-shell .tf-chips::-webkit-scrollbar{display:none}.tf-shell .tf-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.82rem;font-weight:500;color:var(--ink-2);text-decoration:none;transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-chip:hover{color:#fff;background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}.tf-shell .tf-chip b{font-family:var(--font-mono);font-size:.68rem;font-weight:500;opacity:.6}.tf-shell .tf-resources{display:grid;gap:clamp(.75rem,1.5vw,1rem)}@media (min-width:760px){.tf-shell .tf-resources{grid-template-columns:repeat(3,minmax(0,1fr))}}.tf-shell .tf-resource{display:flex;flex-direction:column;gap:.6rem;padding:clamp(1.35rem,2.5vw,1.85rem);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-decoration:none;transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}.tf-shell .tf-resource:hover{transform:translateY(-3px);border-color:var(--ember-line);box-shadow:var(--shadow-md)}.tf-shell .tf-resource-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:var(--r-sm);background:var(--ember-soft);color:var(--ember);transition:transform .35s var(--ease)}.tf-shell .tf-resource:hover .tf-resource-icon{transform:translateY(-2px) rotate(-6deg)}.tf-shell .tf-resource b{font-family:var(--font-display);font-size:1.1rem;font-weight:400;letter-spacing:-.015em;color:var(--ink)}.tf-shell .tf-resource span{font-size:.88rem;line-height:1.55;color:var(--muted)}.tf-shell .tf-split{display:grid;gap:clamp(1.75rem,4vw,3.5rem);align-items:center}@media (min-width:900px){.tf-shell .tf-split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.tf-shell .tf-split--reverse>:first-child{order:2}}.tf-shell .tf-footer-v2{position:relative;background:var(--ink);color:rgba(255,255,255,.66);padding-block:clamp(3rem,6vw,5rem) 2rem;overflow:hidden}.tf-shell .tf-footer-v2-grid{position:relative;gap:2.5rem}@media (min-width:860px){.tf-shell .tf-footer-v2-grid{grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:3rem}}.tf-shell .tf-footer-v2 h3{margin:0 0 1rem;font-family:var(--font-mono);font-size:.64rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4)}.tf-shell .tf-footer-v2-links a{display:block;padding:.35rem 0;font-size:.9rem;color:rgba(255,255,255,.66);text-decoration:none;transition:color .2s var(--ease),transform .2s var(--ease)}.tf-shell .tf-footer-v2-links a:hover{color:#fff;transform:translateX(3px)}.tf-shell .tf-footer-v2-brand p{margin:0 0 1.4rem;max-width:24rem;font-size:.92rem;line-height:1.65;color:rgba(255,255,255,.55)}.tf-shell .tf-footer-social{display:flex;gap:.5rem}.tf-shell .tf-footer-social a{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-sm);color:rgba(255,255,255,.7);transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-footer-social a:hover{color:#fff;background:var(--ember);border-color:var(--ember);transform:translateY(-3px)}.tf-shell .tf-footer-v2-bottom{position:relative;gap:1rem;margin-top:3rem;font-size:.8rem}.tf-shell .tf-footer-v2-bottom span{max-width:36rem}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.tf-shell .tf-stagger>*{animation:tf-rise .7s var(--ease) both;animation-timeline:view();animation-range:entry 0 cover 28%}.tf-shell .tf-stagger>:nth-child(2){animation-delay:.05s}.tf-shell .tf-stagger>:nth-child(3){animation-delay:.1s}.tf-shell .tf-stagger>:nth-child(4){animation-delay:.15s}.tf-shell .tf-stagger>:nth-child(5){animation-delay:.2s}.tf-shell .tf-stagger>:nth-child(n+6){animation-delay:.25s}}}@media (prefers-reduced-motion:no-preference){.tf-shell .tf-hero-v3-inner>*{animation:tf-rise .8s var(--ease) both}.tf-shell .tf-hero-v3-inner>:nth-child(2){animation-delay:.07s}.tf-shell .tf-hero-v3-inner>:nth-child(3){animation-delay:.14s}.tf-shell .tf-hero-v3-inner>:nth-child(4){animation-delay:.21s}.tf-shell .tf-hero-v3-inner>:nth-child(5){animation-delay:.28s}.tf-shell .tf-hero-v3-inner>:nth-child(6){animation-delay:.35s}.tf-shell .tf-plates{animation:tf-rise .95s var(--ease) .15s both}}.tf-shell .tf-disc-media>*{width:100%;height:100%}.tf-shell .tf-detail-head h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4.8vw,3.1rem);line-height:1.06;letter-spacing:-.03em;color:var(--ink)}.tf-shell .tf-detail-lede,.tf-shell .tf-detail-tagline{color:var(--muted);line-height:1.65}.tf-shell .tf-crumbs{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-crumbs a{color:var(--faint);text-decoration:none;transition:color .2s var(--ease)}.tf-shell .tf-crumbs a:hover{color:var(--ember)}.tf-shell .tf-crumb-current{color:var(--ink-2)}.tf-shell .tf-detail-panel h2,.tf-shell .tf-detail-section h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;color:var(--ink)}.tf-shell .tf-struct-item{border-color:var(--line);background:var(--surface);transition:border-color .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-struct-item:hover{border-color:var(--ember-line);transform:translateX(3px)}.tf-shell .tf-struct-num{background:var(--ember-soft);color:var(--ember);font-family:var(--font-mono);font-weight:500}.tf-shell .tf-struct-text{color:var(--ink-2)}.tf-shell .tf-buy-card,.tf-shell .tf-detail-card,.tf-shell .tf-detail-fact,.tf-shell .tf-detail-panel{border-color:var(--line);background:var(--surface);border-radius:var(--r-lg)}.tf-shell .tf-detail-card-icon,.tf-shell .tf-detail-fact svg,.tf-shell .tf-detail-meta-item svg,.tf-shell .tf-detail-section svg,.tf-shell .tf-struct-item svg{color:var(--ember);background:transparent}.tf-shell .tf-detail-card-icon{background:var(--ember-soft);border-radius:var(--r-sm)}.tf-shell .tf-detail-meta-item,.tf-shell .tf-detail-tags-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-detail-tags span,.tf-shell .tf-detail-tags-row span{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink-2)}.tf-shell .tf-license-badge,.tf-shell .tf-view-source{color:var(--ember);border-color:var(--ember-line)}.tf-shell .tf-blueprint,.tf-shell .tf-markdown-viewer{border-radius:var(--r-lg);border-color:var(--line)}.tf-shell .tf-blueprint-band{background:var(--surface-2)}.tf-shell .tf-detail-meta-tags span{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.tf-shell .tf-blueprint-dots i{background:var(--line-strong)}.tf-shell .tf-buy-note path,.tf-shell .tf-buy-note svg{color:var(--ember);stroke:currentColor}.tf-shell .tf-docs-anatomy-item,.tf-shell .tf-docs-license,.tf-shell .tf-docs-stat,.tf-shell .tf-docs-step{border-color:var(--line);background:var(--surface);border-radius:var(--r-lg)}.tf-shell .tf-docs-anatomy-icon,.tf-shell .tf-docs-step-icon{background:var(--ember-soft);color:var(--ember);border-radius:var(--r-sm)}.tf-shell .tf-docs-anatomy-icon svg,.tf-shell .tf-docs-step-icon svg{color:var(--ember)}.tf-shell .tf-docs-step-num{font-family:var(--font-mono);color:var(--ember)}.tf-shell .tf-docs-stat b,.tf-shell .tf-docs-stat strong{font-family:var(--font-mono);font-weight:500;letter-spacing:-.03em;color:var(--ink)}.tf-shell .tf-docs-stat span{color:var(--muted)}.tf-shell .tf-docs h2,.tf-shell .tf-docs h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;color:var(--ink)}.tf-shell .tf-docs a:not(.tf-button){color:var(--ember);text-decoration-color:var(--ember-line)}.tf-shell .tf-docs a:not(.tf-button):hover{color:var(--ember-deep)}.tf-shell .tf-docs-license-badge{background:var(--ember-soft);border-color:var(--ember-line);color:var(--ember)}.tf-shell .tf-docs-license-badge--cc{background:var(--teal-soft);border-color:transparent;color:var(--teal)}.tf-shell .tf-blueprint-file,.tf-shell .tf-docs-code{border-radius:var(--r-lg);border-color:var(--line)}.tf-shell .tf-docs-code-dots i{background:var(--line-strong)}.tf-shell .tf-cat-tile-art{background:var(--surface-2);border-color:var(--line);color:var(--ember)}.tf-shell .tf-cat-tile-art circle,.tf-shell .tf-cat-tile-art path,.tf-shell .tf-cat-tile-art rect,.tf-shell .tf-cat-tile-art svg{color:var(--ember);fill:currentColor;stroke:currentColor}.tf-shell .tf-cat-tile:hover .tf-cat-tile-art{background:var(--ember-soft)}.tf-shell .tf-collection-sample{border-color:var(--line);background:var(--surface)}.tf-shell .tfl{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink)}.tf-shell .tfl:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.tf-shell .tfl-mark{background:linear-gradient(145deg,#d97a4a 0,var(--ember) 48%,#7a2f0c 100%);box-shadow:0 8px 20px -10px rgba(180,73,29,.65),inset 0 1px 0 rgba(255,255,255,.32)}.tf-shell .tfl:hover .tfl-mark{box-shadow:0 14px 30px -12px rgba(180,73,29,.75),inset 0 1px 0 rgba(255,255,255,.4)}.tf-shell .tfl-glyph{fill:#fff}.tf-shell .tfl-glyph-shadow{fill:rgba(90,30,6,.42)}.tf-shell .tfl-ember{fill:#ffd9a8;filter:drop-shadow(0 0 4px rgba(255,196,122,.9))}.tf-shell .tfl-word{font-family:var(--font-display);font-size:1.28rem;font-weight:500;letter-spacing:-.02em;color:var(--ink);line-height:1;transition:color .2s var(--ease)}.tf-shell .tfl-word-accent{font-style:italic;background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:var(--ember,#b4491d)!important;color:var(--ember,#b4491d)!important;transition:color .2s var(--ease),-webkit-text-fill-color .2s var(--ease)}.tf-shell .tfl:hover .tfl-word-accent{color:var(--ember-deep,#8f380f)!important;-webkit-text-fill-color:var(--ember-deep,#8f380f)!important}.tf-shell .tfl--light .tfl-word{color:#fff}.tf-shell .tfl--light .tfl-word-accent{background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#e9a888!important;color:#e9a888!important}.tf-shell .tfl--light:hover .tfl-word-accent{color:#ffd9a8!important;-webkit-text-fill-color:#ffd9a8!important}.tf-shell .tf-cookie{position:fixed!important;left:clamp(1rem,2.5vw,1.5rem)!important;bottom:clamp(1rem,2.5vw,1.5rem)!important;right:auto!important;transform:none!important;z-index:80!important;width:min(380px,calc(100vw - 2rem))!important;max-width:380px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:.85rem!important;padding:1.25rem 1.25rem 1.15rem!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;background:color-mix(in srgb,var(--surface) 97%,transparent)!important;backdrop-filter:blur(16px)!important;box-shadow:0 16px 36px -12px rgba(22,19,15,.28),0 4px 12px rgba(22,19,15,.08)!important;animation:tf-cookie-in .26s var(--ease)!important}@keyframes tf-cookie-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.tf-shell .tf-cookie-head{display:flex;align-items:center;gap:.65rem}.tf-shell .tf-cookie-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--ember-soft);color:var(--ember);flex-shrink:0}.tf-shell .tf-cookie-icon svg{color:var(--ember)}.tf-shell .tf-cookie-title{margin:0;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--ink);line-height:1.2}.tf-shell .tf-cookie-text{margin:0!important;flex:none!important;font-size:.84rem!important;line-height:1.55!important;color:var(--muted)!important}.tf-shell .tf-cookie-text a,.tf-shell .tf-cookie-text strong{color:var(--ink)}.tf-shell .tf-cookie-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.5rem!important;margin-top:.25rem!important;width:100%!important}.tf-shell .tf-cookie-actions .tf-button{min-height:2.375rem!important;height:2.375rem!important;padding:0 .85rem!important;font-size:.8125rem!important;font-weight:600!important;justify-content:center!important;width:100%!important}@media (max-width:480px){.tf-shell .tf-cookie{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-width:none!important}}.tf-shell .tf-floating-toast{position:fixed!important;left:clamp(1rem,2.5vw,1.5rem)!important;bottom:clamp(1rem,2.5vw,1.5rem)!important;right:auto!important;transform:none!important;z-index:80!important;width:min(380px,calc(100vw - 2rem))!important;max-width:380px!important;display:flex!important;flex-direction:column!important;gap:.75rem!important;padding:1.15rem 1.25rem 1.1rem!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;background:color-mix(in srgb,var(--surface) 97%,transparent)!important;backdrop-filter:blur(16px)!important;box-shadow:0 16px 36px -12px rgba(22,19,15,.28),0 4px 12px rgba(22,19,15,.08)!important;animation:tf-cookie-in .26s var(--ease)!important}.tf-shell .tf-floating-toast-head{display:flex;align-items:center;justify-content:space-between}.tf-shell .tf-floating-toast-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ember);display:flex;align-items:center;gap:.4rem}.tf-shell .tf-floating-toast-close{display:grid;place-items:center;width:1.5rem;height:1.5rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:all .16s var(--ease)}.tf-shell .tf-floating-toast-close:hover{color:var(--ink);background:var(--surface)}.tf-shell .tf-floating-toast-title{margin:0;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--ink);line-height:1.25}.tf-shell .tf-floating-toast-desc{margin:.25rem 0 0;font-size:.8rem;line-height:1.45;color:var(--muted)}.tf-shell .tf-floating-toast-confirmed{display:flex;align-items:flex-start;gap:.75rem;padding:.25rem 0}.tf-shell .tf-floating-toast-check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ember-soft);color:var(--ember);flex-shrink:0}.tf-shell .tf-floating-toast-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}.tf-shell .tf-floating-toast-input-row{display:flex;gap:.4rem}.tf-shell .tf-floating-toast-input{flex:1;min-width:0;height:2.25rem;padding:0 .75rem;font-size:.82rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;transition:border-color .16s var(--ease)}.tf-shell .tf-floating-toast-input:focus{border-color:var(--ember)}.tf-shell .tf-floating-toast-input--error{border-color:#ef4444}.tf-shell .tf-floating-toast-submit{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--ember);border-radius:var(--r-sm);background:var(--ember);color:#fff;cursor:pointer;flex-shrink:0;transition:opacity .16s var(--ease)}.tf-shell .tf-floating-toast-submit:hover:not(:disabled){opacity:.9}.tf-shell .tf-floating-toast-submit:disabled{opacity:.5;cursor:not-allowed}.tf-shell .tf-floating-toast-consent{font-size:.7rem;line-height:1.35;color:var(--muted)}.tf-shell .tf-floating-toast-error{margin:0;font-size:.72rem;color:#ef4444}@media (max-width:480px){.tf-shell .tf-floating-toast{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-width:none!important}}.tf-shell .tf-capture input[type=email],.tf-shell .tf-dlgate-form input[type=email],.tf-shell .tf-dlgate-input,.tf-shell .tf-newsletter-field input,.tf-shell .tf-newsletter-form input,.tf-shell input[type=email]{width:100%;min-height:2.875rem;padding:.75rem 1rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);font-family:var(--font-sans);font-size:.95rem;color:var(--ink);outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.tf-shell input[type=email]::placeholder{color:var(--faint)}.tf-shell input[type=email]:focus{border-color:var(--ember);background:var(--surface);box-shadow:0 0 0 3px var(--ember-soft)}.tf-shell .tf-dlgate-input--error,.tf-shell input[type=email][aria-invalid=true]{border-color:#b4341d;box-shadow:0 0 0 3px rgba(180,52,29,.12)}.tf-shell .tf-capture input[type=checkbox],.tf-shell .tf-consent input[type=checkbox],.tf-shell .tf-dlgate-consent input[type=checkbox]{accent-color:var(--ember);width:1rem;height:1rem}.tf-shell .tf-consent,.tf-shell .tf-dlgate-consent{font-size:.8rem;line-height:1.55;color:var(--muted)}.tf-shell .tf-consent a,.tf-shell .tf-dlgate-consent a{color:var(--ink);font-weight:600;text-decoration-color:var(--line-strong)}.tf-shell .tf-consent a:hover,.tf-shell .tf-dlgate-consent a:hover{color:var(--ember)}.tf-shell .tf-capture,.tf-shell .tf-dlgate-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.tf-shell .tf-dlgate-backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent)}.tf-shell .tf-capture{left:20px;right:auto}.tf-shell .tf-capture-icon,.tf-shell .tf-dlgate-icon{background:var(--ember-soft);color:var(--ember);border-radius:var(--r-sm)}.tf-shell .tf-capture-icon--ok,.tf-shell .tf-dlgate-icon--ok{background:var(--teal-soft);color:var(--teal)}.tf-shell .tf-capture-error,.tf-shell .tf-dlgate-error,.tf-shell .tf-newsletter-error{color:#b4341d;font-size:.82rem}.tf-shell .tf-capture-done,.tf-shell .tf-dlgate-done,.tf-shell .tf-newsletter-done{color:var(--teal)}.tf-shell .tf-capture-later,.tf-shell .tf-dlgate-fine{color:var(--faint);font-size:.78rem}.tf-shell .tf-capture-close,.tf-shell .tf-dlgate-close{color:var(--faint);transition:color .2s var(--ease)}.tf-shell .tf-capture-close:hover,.tf-shell .tf-dlgate-close:hover{color:var(--ink)}.tf-shell .tf-newsletter{background:var(--ink);color:rgba(255,255,255,.7)}.tf-shell .tf-newsletter h2,.tf-shell .tf-newsletter-copy h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em;color:#fff}.tf-shell .tf-newsletter-copy p{color:rgba(255,255,255,.6)}.tf-shell .tf-newsletter input[type=email]{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}.tf-shell .tf-newsletter input[type=email]::placeholder{color:rgba(255,255,255,.42)}.tf-shell .tf-newsletter input[type=email]:focus{border-color:#e9a888;background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(233,168,136,.18)}.tf-shell .tf-newsletter .tf-consent{color:rgba(255,255,255,.6)}.tf-shell .tf-newsletter .tf-consent a{color:#fff}.tf-shell .tf-newsletter .tf-consent a:hover{color:#e9a888}.tf-shell .tf-newsletter .tf-button-primary{background:#fff;color:var(--ink)}.tf-shell .tf-newsletter .tf-button-primary:hover{background:var(--ember);color:#fff}.tf-shell .tf-notify-btn{border:1px solid rgba(255,255,255,.2);border-radius:999px;color:rgba(255,255,255,.72);background:transparent;transition:border-color .2s var(--ease),color .2s var(--ease)}.tf-shell .tf-notify-btn:hover{border-color:#fff;color:#fff}.tf-shell .tf-notify-on{color:#e9a888}.tf-shell .tf-notify-off{color:rgba(255,255,255,.5)}.tf-shell .tf-dlgate-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--ink) 55%,transparent);backdrop-filter:blur(6px);animation:tf-fade-in .25s var(--ease) both}.tf-shell .tf-dlgate-card{position:relative;display:grid;grid-template-rows:minmax(0,1fr);width:100%;max-width:56rem;max-height:calc(100dvh - 2rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lg);animation:tf-pop .35s var(--ease) both}@media (min-width:800px){.tf-shell .tf-dlgate-card{grid-template-columns:1.05fr 1fr}}.tf-shell .tf-dlgate-media{position:relative;display:none;flex-direction:column;gap:1rem;justify-content:center;padding:clamp(1.25rem,3vw,2rem);background:radial-gradient(70% 55% at 50% 30%,var(--ember-soft),transparent 70%),var(--surface-2);border-right:1px solid var(--line)}@media (min-width:800px){.tf-shell .tf-dlgate-media{display:flex}}.tf-shell .tf-dlgate-media>.tf-live,.tf-shell .tf-dlgate-media>.tf-template-preview{width:100%;height:auto;aspect-ratio:4/3;min-height:0;flex:0 0 auto;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg)}.tf-shell .tf-dlgate-media>.tf-live>.tf-live-frame{min-height:0}.tf-shell .tf-dlgate-media-tag{display:flex;flex-direction:column;gap:.2rem}.tf-shell .tf-dlgate-media-tag b{font-family:var(--font-display);font-size:1.3rem;font-weight:400;letter-spacing:-.02em;color:var(--ink)}.tf-shell .tf-dlgate-media-tag small{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-dlgate-body{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:clamp(1.35rem,2.6vw,1.9rem);min-height:0;overflow-y:auto;text-align:left}.tf-shell .tf-dlgate-body>:not(.tf-dlgate-icon):not(.tf-dlgate-icon--ok){width:100%}.tf-shell .tf-dlgate-body .tf-dlgate-icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--r-sm)}.tf-shell .tf-dlgate-body .tf-dlgate-icon svg{width:16px;height:16px}.tf-shell .tf-dlgate-body h3{margin:.15rem 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.2rem,2.4vw,1.45rem);line-height:1.15;letter-spacing:-.025em;color:var(--ink)}.tf-shell .tf-dlgate-body>p{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted)}.tf-shell .tf-dlgate-form{display:flex;flex-direction:column;gap:.55rem;margin-top:.75rem}.tf-shell .tf-dlgate-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-dlgate-submit{width:100%}.tf-shell .tf-dlgate-close{position:absolute;top:.9rem;right:.9rem;z-index:3;display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer}.tf-shell .tf-dlgate-done{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}@keyframes tf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tf-pop{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.tf-shell .tf-dlgate-consent{font-size:.75rem;line-height:1.45;gap:.5rem}.tf-shell .tf-dlgate-label{margin-bottom:-.15rem}.tf-shell .tf-dlgate-fine{margin:.15rem 0 0;font-size:.73rem;line-height:1.4;color:var(--faint)}.tf-shell .tf-dlgate-submit{min-height:2.75rem}.tf-shell .tf-dlgate-card{max-height:min(34rem,calc(100dvh - 2rem))}@media (max-width:799px){.tf-shell .tf-dlgate-card{max-height:calc(100dvh - 2rem)}}@media (min-width:800px){.tf-shell .tf-dlgate-media{padding:1.25rem;gap:.75rem}.tf-shell .tf-dlgate-media-tag b{font-size:1.1rem}}.tf-shell .tf-welcome-backdrop{background:color-mix(in srgb,var(--ink) 60%,transparent);backdrop-filter:blur(10px) saturate(130%)}.tf-shell .tf-welcome-card{position:relative;width:100%;max-width:30rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:0 48px 100px -40px rgba(22,19,15,.55),0 8px 24px rgba(22,19,15,.08);padding:clamp(1.5rem,4vw,2.25rem);text-align:center;animation:tf-pop .35s var(--ease) both}.tf-shell .tf-welcome-glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(60px)}.tf-shell .tf-welcome-glow:first-of-type{width:220px;height:220px;top:-80px;right:-60px;background:var(--ember-soft);opacity:.7}.tf-shell .tf-welcome-glow--2{width:180px;height:180px;bottom:-60px;left:-40px;background:var(--teal-soft);opacity:.6}.tf-shell .tf-welcome-close{position:absolute;top:.75rem;right:.75rem;z-index:3;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--faint);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.tf-shell .tf-welcome-close:hover{color:var(--ink);border-color:var(--line-strong)}.tf-shell .tf-welcome-close:disabled{opacity:.4;cursor:default}.tf-shell .tf-welcome-badge{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .85rem;border-radius:999px;background:var(--ember-soft);border:1px solid var(--ember-line);font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ember);margin-bottom:.75rem}.tf-shell .tf-welcome-badge svg{flex-shrink:0}.tf-shell .tf-welcome-live-dot{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ember);flex-shrink:0}.tf-shell .tf-welcome-live-dot:after{content:"";position:absolute;inset:-2px;border-radius:50%;background:var(--ember);opacity:.5;animation:tf-welcome-pulse 1.8s ease-in-out infinite}@keyframes tf-welcome-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.9);opacity:0}}.tf-shell .tf-welcome-headline{position:relative;margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,4.5vw,1.9rem);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}.tf-shell .tf-welcome-headline em{font-style:italic;color:var(--ember)}.tf-shell .tf-welcome-sub{position:relative;margin:.45rem 0 0;font-size:.88rem;line-height:1.5;color:var(--muted)}.tf-shell .tf-welcome-divider{position:relative;display:flex;align-items:center;justify-content:center;width:100%;margin:1.25rem 0 0;color:var(--ember)}.tf-shell .tf-welcome-divider:after,.tf-shell .tf-welcome-divider:before{content:"";flex:1;height:1px;background:var(--line)}.tf-shell .tf-welcome-divider svg{margin:0 .75rem;opacity:.7}.tf-shell .tf-welcome-form{position:relative;margin-top:1.5rem;display:flex;flex-direction:column;gap:.65rem;text-align:left}.tf-shell .tf-welcome-input{width:100%;min-height:3rem;padding:0 1.15rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);font-family:var(--font-sans);font-size:.9rem;color:var(--ink);outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.tf-shell .tf-welcome-input::placeholder{color:var(--faint)}.tf-shell .tf-welcome-input:focus{border-color:var(--ember);background:var(--surface);box-shadow:0 0 0 3px var(--ember-soft)}.tf-shell .tf-welcome-input--error{border-color:#b4341d;box-shadow:0 0 0 3px rgba(180,52,29,.12)}.tf-shell .tf-welcome-submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:3.25rem;padding:0 1.5rem;border:0;border-radius:var(--r-sm);background:linear-gradient(180deg,var(--ember) 0,var(--ember-deep) 100%);color:#fff;font-family:var(--font-sans);font-size:.95rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;cursor:pointer;box-shadow:0 4px 0 0 #7a2f0e,0 6px 20px -4px rgba(180,73,29,.45),inset 0 1px 0 rgba(255,255,255,.18);transition:background .2s var(--ease),transform .12s var(--ease),box-shadow .12s var(--ease),filter .2s var(--ease)}.tf-shell .tf-welcome-submit:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 5px 0 0 #7a2f0e,0 10px 28px -6px rgba(180,73,29,.5),inset 0 1px 0 rgba(255,255,255,.2)}.tf-shell .tf-welcome-submit:active{transform:translateY(2px);box-shadow:0 1px 0 0 #7a2f0e,0 2px 8px -2px rgba(180,73,29,.3),inset 0 1px 0 rgba(255,255,255,.1)}.tf-shell .tf-welcome-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:grayscale(.3)}.tf-shell .tf-welcome-error{display:block;margin-top:.35rem;font-size:.78rem;font-weight:600;color:#b4341d}.tf-shell .tf-welcome-trust{position:relative;margin:.75rem 0 0;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:var(--faint);text-align:center}.tf-shell .tf-welcome-form .tf-consent,.tf-shell .tf-welcome-form .tf-dlgate-consent{margin-top:.6rem;font-size:.72rem;line-height:1.45;gap:.5rem}.tf-shell .tf-welcome-success{position:relative;padding:1.5rem 0 .5rem;text-align:center;animation:tf-pop .35s var(--ease) both}.tf-shell .tf-welcome-success-icon{display:grid;place-items:center;margin:0 auto 1rem;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--teal);color:#fff;box-shadow:0 12px 32px -8px rgba(15,93,84,.4)}.tf-shell .tf-welcome-success-icon:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--teal);opacity:.3;animation:tf-welcome-ping 1s ease-out forwards}.tf-shell .tf-welcome-success h3{margin:0;font-family:var(--font-display);font-size:1.6rem;font-weight:400;letter-spacing:-.025em;color:var(--ink)}.tf-shell .tf-welcome-success p{margin:.35rem 0 0;font-size:.88rem;line-height:1.5;color:var(--muted)}@keyframes tf-welcome-ping{0%{transform:scale(1);opacity:.4}to{transform:scale(1.7);opacity:0}}@media (max-width:480px){.tf-shell .tf-welcome-card{padding:1.25rem 1rem;border-radius:var(--r-sm)}.tf-shell .tf-welcome-headline{font-size:1.35rem}}@media (prefers-reduced-motion:reduce){.tf-shell .tf-welcome-card,.tf-shell .tf-welcome-live-dot:after,.tf-shell .tf-welcome-success,.tf-shell .tf-welcome-success-icon:after{animation:none}}.tf-shell .tf-showroom{display:grid;gap:clamp(1rem,2vw,1.75rem);align-items:stretch}@media (min-width:900px){.tf-shell .tf-showroom{grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}}.tf-shell .tf-showroom-index{display:grid;align-content:start;margin:0;padding:0;list-style:none;border-top:1px solid var(--line);max-height:26rem;overflow-y:auto;scrollbar-width:none;mask-image:linear-gradient(180deg,#000 88%,transparent)}.tf-shell .tf-showroom-index::-webkit-scrollbar{display:none}.tf-shell .tf-showroom-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto auto;align-items:center;gap:.85rem;padding:.85rem .6rem;border-bottom:1px solid var(--line);text-decoration:none;transition:background .3s var(--ease),padding-inline .3s var(--ease)}.tf-shell .tf-showroom-row.is-active,.tf-shell .tf-showroom-row:focus-visible,.tf-shell .tf-showroom-row:hover{background:var(--surface);padding-inline:1rem .85rem;outline:none}.tf-shell .tf-showroom-num{font-family:var(--font-mono);font-size:.7rem;color:var(--faint);transition:color .25s var(--ease)}.tf-shell .tf-showroom-row.is-active .tf-showroom-num{color:var(--ember)}.tf-shell .tf-showroom-name{font-family:var(--font-display);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:400;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-shell .tf-showroom-count{font-family:var(--font-mono);font-size:.7rem;color:var(--faint)}.tf-shell .tf-showroom-arrow{color:var(--faint);opacity:0;transform:translateX(-4px);transition:opacity .25s var(--ease),transform .25s var(--ease),color .25s var(--ease)}.tf-shell .tf-showroom-row.is-active .tf-showroom-arrow,.tf-shell .tf-showroom-row:hover .tf-showroom-arrow{opacity:1;transform:none;color:var(--ember)}.tf-shell .tf-showroom-stage{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg)}@media (min-width:900px){.tf-shell .tf-showroom-stage{aspect-ratio:auto;min-height:26rem}}.tf-shell .tf-showroom-plate{position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity .45s var(--ease),transform .6s var(--ease);pointer-events:none}.tf-shell .tf-showroom-plate.is-active{opacity:1;transform:none}.tf-shell .tf-showroom-plate>*{width:100%;height:100%}.tf-shell .tf-showroom-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,15,0) 30%,rgba(22,19,15,.62) 56%,rgba(22,19,15,.92) 78%,rgba(22,19,15,.96));pointer-events:none}.tf-shell .tf-showroom-caption{position:absolute;left:clamp(1rem,2.5vw,1.6rem);right:clamp(1rem,2.5vw,1.6rem);bottom:clamp(1rem,2.5vw,1.4rem);z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tf-shell .tf-showroom-caption>span{display:flex;flex-direction:column;gap:.15rem;min-width:0}.tf-shell .tf-showroom-caption b{font-family:var(--font-display);font-size:clamp(1.2rem,2.6vw,1.75rem);font-weight:400;letter-spacing:-.02em;color:#fff}.tf-shell .tf-showroom-caption small{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}.tf-shell .tf-showroom-caption .tf-button{min-height:2.6rem;padding-inline:1.1rem;font-size:.82rem;background:#fff;color:var(--ink)}.tf-shell .tf-showroom-caption .tf-button:hover{background:var(--ember);color:#fff}@media (max-width:899px){.tf-shell .tf-showroom-index{max-height:17rem}.tf-shell .tf-showroom-row{padding-block:.7rem}}.tf-shell .tf-newsletter-field{border-radius:999px;padding:0 .35rem 0 1.1rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}.tf-shell .tf-newsletter-field:focus-within{border-color:#e9a888;background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(233,168,136,.18)}.tf-shell .tf-newsletter-field.is-error{border-color:#e08b6a;box-shadow:0 0 0 3px rgba(224,139,106,.18)}.tf-shell .tf-newsletter-field input,.tf-shell .tf-newsletter-field input[type=email]{border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:.75rem 0;min-height:2.75rem;color:#fff}.tf-shell .tf-newsletter-field input::placeholder{color:rgba(255,255,255,.45)}.tf-shell .tf-newsletter-field svg{color:rgba(255,255,255,.5)}.tf-shell .tf-cta:before{inset:0;height:auto;background:radial-gradient(58% 62% at 26% 18%,rgba(180,73,29,.42) 0,rgba(180,73,29,.16) 38%,transparent 72%)}.tf-shell .tf-footer-v2-grid{display:grid;gap:clamp(2rem,4vw,3.5rem)}@media (min-width:860px){.tf-shell .tf-footer-v2-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.tf-shell .tf-footer-v2-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.tf-shell .tf-footer-v2-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.25rem;margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.42)}.tf-shell .tf-footer-v2-brands{display:inline-flex;align-items:center;gap:.65rem;min-width:0}.tf-shell .tf-footer-v2-brands--lead{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 1.35rem}.tf-shell .tf-footer-v2-brands--lead .tfl-mark{width:2.9rem;height:2.9rem}.tf-shell .tf-footer-v2-brands--lead .tfl-word{font-size:1.4rem}.tf-shell .tf-footer-v2-brands--lead .tf-footer-v2-altf img,.tf-shell .tf-footer-v2-brands--lead .tf-footer-v2-altf svg{height:1.6rem}.tf-shell .tf-footer-v2-by{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.42)}.tf-shell .tf-footer-v2-altf{display:inline-flex;align-items:center;padding:0;filter:brightness(0) invert(1);opacity:.92;transition:opacity .2s var(--ease),transform .2s var(--ease)}.tf-shell .tf-footer-v2-altf:hover{opacity:1;transform:translateY(-1px)}.tf-shell .tf-footer-v2-altf img,.tf-shell .tf-footer-v2-altf svg{height:1.35rem;width:auto}.tf-shell .tf-figures{display:grid;gap:clamp(2rem,4vw,3.25rem)}@media (min-width:1000px){.tf-shell .tf-figures{grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,5vw,4.5rem)}}.tf-shell .tf-figures-title{margin:.85rem 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.12;letter-spacing:-.025em;color:var(--ink)}.tf-shell .tf-figures-title em{font-style:italic;color:var(--ember)}.tf-shell .tf-figures-note{margin:.85rem 0 0;max-width:26rem;font-size:.92rem;line-height:1.6;color:var(--muted)}.tf-shell .tf-figures-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.25rem) clamp(1.25rem,2.5vw,2rem)}@media (min-width:760px){.tf-shell .tf-figures-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tf-shell .tf-figure{position:relative;margin:0;padding-top:clamp(.9rem,1.8vw,1.25rem);border-top:1px solid var(--line-strong)}.tf-shell .tf-figure:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}.tf-shell .tf-figure:hover:before{transform:scaleX(1)}.tf-shell .tf-figure b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,6vw,4.1rem);line-height:.95;letter-spacing:-.04em;color:var(--ink);transition:color .35s var(--ease)}.tf-shell .tf-figure:hover b{color:var(--ember)}.tf-shell .tf-figure>span{display:block;margin-top:.75rem;max-width:13rem;font-size:.82rem;line-height:1.5;color:var(--muted)}.tf-shell .tf-collections-head{max-width:48rem;margin-inline:auto;padding-block:clamp(2rem,4vw,3rem) clamp(1rem,2vw,1.5rem);text-align:center}.tf-shell .tf-collections-head h1{margin:.75rem 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,5vw,3.25rem);line-height:1.04;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}.tf-shell .tf-collections-head h1 em{font-style:italic;color:var(--ember)}.tf-shell .tf-collections-lede{margin:1rem auto 0;max-width:36rem;font-size:1rem;line-height:1.65;color:var(--muted)}.tf-shell .tf-collections-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:clamp(1.5rem,3vw,2rem) auto 0;padding:0}.tf-shell .tf-collections-meta>div{display:flex;flex-direction:column-reverse;gap:.15rem;padding-inline:clamp(1.1rem,3vw,2rem);border-left:1px solid var(--line)}.tf-shell .tf-collections-meta>div:first-child{border-left:0}.tf-shell .tf-collections-meta dd{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);line-height:1;color:var(--ink)}.tf-shell .tf-collections-meta dt{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-collections-head .tf-docs-hero-actions{justify-content:center;margin-top:clamp(1.5rem,3vw,2rem)}.tf-shell .tf-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width:1024px){.tf-shell .tf-cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.tf-shell .tf-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:480px){.tf-shell .tf-cat-grid{grid-template-columns:1fr}}.tf-shell .tf-cat-card{position:relative;display:block;padding:28px 20px 24px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:center;text-decoration:none;overflow:hidden;isolation:isolate;border-radius:var(--r-sm);box-shadow:var(--shadow-sm);transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.tf-shell .tf-cat-card:focus-visible,.tf-shell .tf-cat-card:hover{border-color:var(--ember-line);background:var(--surface);transform:translateY(-2px);box-shadow:var(--shadow-md);outline:none}.tf-shell .tf-cat-corner{position:absolute;z-index:2;width:7px;height:7px;border-style:solid;border-color:var(--line-strong);pointer-events:none;transition:border-color .25s ease}.tf-shell .tf-cat-corner-tl{top:-1px;left:-1px;border-width:2px 0 0 2px}.tf-shell .tf-cat-corner-tr{top:-1px;right:-1px;border-width:2px 2px 0 0}.tf-shell .tf-cat-corner-bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}.tf-shell .tf-cat-corner-br{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.tf-shell .tf-cat-card:focus-visible .tf-cat-corner,.tf-shell .tf-cat-card:hover .tf-cat-corner{border-color:var(--ember)}.tf-shell .tf-cat-icon{width:42px;height:42px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:color .2s ease,transform .2s ease}.tf-shell .tf-cat-code{margin:0 0 4px;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.tf-shell .tf-cat-name{margin:0 0 6px;color:var(--ink);font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:color .2s ease}.tf-shell .tf-cat-count{margin:0;color:var(--faint);font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tf-shell .tf-cat-card:focus-visible .tf-cat-icon,.tf-shell .tf-cat-card:focus-visible .tf-cat-name,.tf-shell .tf-cat-card:hover .tf-cat-icon,.tf-shell .tf-cat-card:hover .tf-cat-name{color:var(--ember)!important}.tf-shell .tf-cat-card:hover .tf-cat-icon{transform:translateY(-2px)}.tf-shell .tf-docs-head{max-width:50rem;margin-inline:auto;padding-block:clamp(2rem,4vw,3rem) clamp(1rem,2vw,1.5rem);text-align:center}.tf-shell .tf-docs-head h1{margin:.75rem 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,5vw,3.25rem);line-height:1.04;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}.tf-shell .tf-docs-head h1 em{font-style:italic;color:var(--ember)}.tf-shell .tf-docs-head .tf-docs-lede{margin:1rem auto 0;max-width:38rem;font-size:1rem;line-height:1.65;color:var(--muted)}.tf-shell .tf-docs-head .tf-docs-hero-actions{justify-content:center;margin-top:clamp(1.5rem,3vw,2rem)}.tf-shell .tf-docs-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(2rem,4vw,2.75rem);padding-top:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);overflow:hidden}@media (min-width:760px){.tf-shell .tf-docs-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.tf-shell .tf-docs-stat{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:1.1rem .9rem;border:0;border-radius:0;background:var(--surface);text-align:center;transition:background .3s var(--ease)}.tf-shell .tf-docs-stat:hover{background:var(--paper)}.tf-shell .tf-docs-stat b{font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.15;text-wrap:balance}.tf-shell .tf-docs-stat span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-docs-steps{align-items:stretch}.tf-shell .tf-docs-step{display:flex;flex-direction:column;gap:.55rem;height:100%;padding:1.5rem 1.35rem;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.tf-shell .tf-docs-step:hover{transform:translateY(-3px);border-color:var(--ember-line);box-shadow:var(--shadow-md)}.tf-shell .tf-docs-step-num{position:static;order:-1;font-size:.68rem;letter-spacing:.14em;color:var(--faint)}.tf-shell .tf-docs-step-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;transition:transform .25s var(--ease)}.tf-shell .tf-docs-step:hover .tf-docs-step-icon{transform:translateY(-2px)}.tf-shell .tf-docs-step h3{margin:.15rem 0 0;font-size:1.05rem}.tf-shell .tf-docs-step p{margin:0;font-size:.86rem;line-height:1.6;color:var(--muted)}.tf-shell .tf-docs-anatomy{align-items:stretch;gap:clamp(1rem,2.2vw,1.75rem)}.tf-shell .tf-docs-anatomy-list{grid-auto-rows:1fr;gap:.6rem}.tf-shell .tf-docs-anatomy-item{align-items:flex-start;height:100%;transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-docs-anatomy-item:hover{border-color:var(--ember-line);background:var(--paper);transform:translateX(3px)}.tf-shell .tf-docs-anatomy-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem}.tf-shell .tf-docs-code{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;align-self:stretch}@media (min-width:981px){.tf-shell .tf-docs-code{position:sticky;top:5.5rem}}.tf-shell .tf-docs-code pre{flex:1;min-height:0;margin:0;overflow:auto;scrollbar-width:thin}.tf-shell .tf-docs-license{align-items:stretch}.tf-shell .tf-docs-license article{display:flex;flex-direction:column;gap:.8rem;height:100%;padding:clamp(1.35rem,2.6vw,1.75rem);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.tf-shell .tf-docs-license article:hover{transform:translateY(-3px);border-color:var(--ember-line);box-shadow:var(--shadow-md)}.tf-shell .tf-docs-license-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tf-shell .tf-docs-license-top b{font-family:var(--font-display);font-weight:400;font-size:1.6rem;letter-spacing:-.02em;color:var(--ink)}.tf-shell .tf-docs-license-top b span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-docs-license article>p{margin:0;font-size:.9rem;line-height:1.6;color:var(--muted)}.tf-shell .tf-docs-license-terms{list-style:none;margin:0;padding:.8rem 0 0;border-top:1px solid var(--line);display:grid;gap:.45rem}.tf-shell .tf-docs-license-terms li{display:flex;align-items:center;gap:.5rem;font-size:.84rem;color:var(--ink-2)}.tf-shell .tf-docs-license-terms svg{flex-shrink:0;color:var(--ember)}.tf-shell .tf-docs-license article>a{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:.4rem;font-size:.86rem;font-weight:500;text-decoration:none}.tf-shell .tf-docs-license article>a svg{transition:transform .25s var(--ease)}.tf-shell .tf-docs-license article:hover>a svg{transform:translateX(4px)}.tf-shell .tf-docs .tf-blueprint-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.75rem,4vw,2.75rem);border:1px solid var(--line);border-radius:var(--r-lg)}.tf-shell .tf-docs .tf-blueprint-band>div{max-width:34rem}.tf-shell .tf-docs .tf-blueprint-band h2{margin:.6rem 0 0}.tf-shell .tf-docs .tf-blueprint-band p{margin:.6rem 0 0;color:var(--muted)}.tf-shell .tf-collections,.tf-shell .tf-docs{padding-bottom:0}@media (max-width:767px){.tf-shell .tf-brand-altf,.tf-shell .tf-collection-cta,.tf-shell .tf-collection-sample,.tf-shell .tf-footer-v2-altf,.tf-shell .tf-heading-link,.tf-shell .tf-notify-btn,.tf-shell .tf-preview-back,.tf-shell .tf-view-source{min-height:2.75rem;align-items:center}.tf-shell .tf-collection-sample{padding-block:.6rem}.tf-shell .tf-filter-pill,.tf-shell .tf-viewport-switcher button{min-height:2.75rem}}.tf-shell.tf-js .tf-reveal{opacity:0;transform:translateY(18px);transition:opacity .62s var(--ease),transform .62s var(--ease);will-change:opacity,transform}.tf-shell.tf-js .tf-reveal.is-in{opacity:1;transform:none}.tf-shell.tf-js .tf-stagger>*{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.tf-shell.tf-js .tf-stagger.is-in>*{opacity:1;transform:none}.tf-shell.tf-js .tf-stagger.is-in>:first-child{transition-delay:.04s}.tf-shell.tf-js .tf-stagger.is-in>:nth-child(2){transition-delay:.1s}.tf-shell.tf-js .tf-stagger.is-in>:nth-child(3){transition-delay:.16s}.tf-shell.tf-js .tf-stagger.is-in>:nth-child(4){transition-delay:.22s}.tf-shell.tf-js .tf-stagger.is-in>:nth-child(5){transition-delay:.28s}.tf-shell.tf-js .tf-stagger.is-in>:nth-child(n+6){transition-delay:.32s}@media (prefers-reduced-motion:reduce){.tf-shell.tf-js .tf-reveal,.tf-shell.tf-js .tf-stagger>*{opacity:1;transform:none;transition:none}}.tf-shell .tf-spotlight{display:grid;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}@media (min-width:900px){.tf-shell .tf-spotlight{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}.tf-shell .tf-spotlight-frame{aspect-ratio:4/3;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.tf-shell .tf-spotlight-frame>*{width:100%;height:100%}.tf-shell .tf-spotlight-frame:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.tf-shell .tf-spotlight>div:last-child{align-self:center}.tf-shell .tf-spotlight .tf-kicker{margin-bottom:.9rem}.tf-shell .tf-spotlight h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-.025em;color:var(--ink)}.tf-shell .tf-spotlight>div>p{margin:1.1rem 0 0;max-width:34rem;font-size:.98rem;line-height:1.7;color:var(--muted)}.tf-shell .tf-spotlight-meta{margin:.65rem 0 0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-spotlight-label{margin:1.7rem 0 0;padding-top:.9rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tf-shell .tf-spotlight .tf-speclist{margin-top:.75rem}.tf-shell .tf-spotlight .tf-hero-actions{margin-top:1.9rem}.tf-shell .tf-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(15.5rem,19rem);gap:clamp(1rem,2vw,1.5rem);overflow-x:auto;scroll-snap-type:x proximity;padding:.25rem .25rem 1rem;margin-inline:-.25rem;scrollbar-width:none;-ms-overflow-style:none}.tf-shell .tf-rail>*{scroll-snap-align:start}.tf-shell .tf-rail::-webkit-scrollbar{display:none}.tf-shell .tf-steps{display:grid;gap:1px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);overflow:hidden}@media (min-width:760px){.tf-shell .tf-steps{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto 1fr}}.tf-shell .tf-step{display:grid;gap:.55rem;height:100%;padding:clamp(1.5rem,3vw,2rem);border:0;border-radius:0;background:var(--surface);transition:background .3s var(--ease)}@media (min-width:760px){.tf-shell .tf-step{grid-row:span 3;grid-template-rows:subgrid;align-content:start}}.tf-shell .tf-step:hover{background:var(--paper)}.tf-shell .tf-step-num{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--faint)}.tf-shell .tf-step h3{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.24rem;letter-spacing:-.015em;color:var(--ember)}.tf-shell .tf-step p{margin:0;align-self:start;font-size:.88rem;line-height:1.6;color:var(--muted)}.tf-shell .tf-ranked{list-style:none;display:grid;gap:.35rem;margin:0;padding:0;counter-reset:none}@media (min-width:860px){.tf-shell .tf-ranked{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1rem,2.5vw,2rem)}}.tf-shell .tf-ranked-item{display:flex;align-items:center;gap:.85rem;padding:.7rem .65rem;margin-inline:-.65rem;border-radius:var(--r-md);text-decoration:none;transition:background .22s var(--ease)}.tf-shell .tf-ranked-item:hover{background:var(--surface)}.tf-shell .tf-rank{flex-shrink:0;width:1.6rem;font-family:var(--font-mono);font-size:.72rem;color:var(--faint)}.tf-shell .tf-ranked-thumb{flex-shrink:0;width:3.6rem;height:2.6rem;overflow:hidden;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-2)}.tf-shell .tf-ranked-thumb>*{width:100%;height:100%}.tf-shell .tf-ranked-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.tf-shell .tf-ranked-text b{font-weight:500;font-size:.92rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-shell .tf-ranked-text small{font-family:var(--font-mono);font-size:clamp(.6rem,.9rem - .4vw,.72rem);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-ranked-item svg{flex-shrink:0;color:var(--faint);opacity:.55;transition:opacity .25s var(--ease),transform .35s var(--ease),color .25s var(--ease)}.tf-shell .tf-ranked-item:hover svg{opacity:1;color:var(--ember);transform:translate(3px,-3px)}.tf-shell .tf-anatomy{display:grid;gap:clamp(1.5rem,3.5vw,3rem);align-items:center}@media (min-width:960px){.tf-shell .tf-anatomy{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.tf-shell .tf-codeframe-head{display:flex;align-items:center;gap:.4rem;padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:.68rem;color:rgba(255,255,255,.55)}.tf-shell .tf-codeframe-head i{width:.55rem;height:.55rem;border-radius:50%;background:rgba(255,255,255,.22)}.tf-shell .tf-codeframe-head span{margin-left:.5rem}.tf-shell .tf-figures-intro{min-width:0}.tf-shell .tf-pl-hero{position:relative;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--line)}.tf-shell .tf-pl-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;pointer-events:none;mix-blend-mode:multiply}.tf-shell .tf-pl-hero-inner{position:relative;z-index:10;padding-block:clamp(2.75rem,5.5vw,4.25rem);text-align:left}.tf-shell .tf-pl-kicker{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--ember);letter-spacing:-.01em}.tf-shell .tf-pl-title{margin:0;font-family:var(--font-display),Georgia,serif;font-size:clamp(2.25rem,1.25rem + 3.2vw,3.85rem);font-weight:500;line-height:1.15;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}.tf-shell .tf-pl-counter{color:var(--ember);font-weight:600;margin-left:.35rem}.tf-shell .tf-pl-lede{margin:.85rem 0 0;max-width:44rem;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65;color:var(--muted)}.tf-shell .tf-pl-search-form{margin-top:1.65rem;display:flex;flex-direction:column;gap:.75rem;max-width:42rem}@media (min-width:640px){.tf-shell .tf-pl-search-form{flex-direction:row}}.tf-shell .tf-pl-search-wrap{position:relative;flex:1}.tf-shell .tf-pl-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.tf-shell .tf-pl-search-input{width:100%;height:3.125rem;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--paper);padding-left:2.85rem;padding-right:1rem;font-family:var(--font-sans);font-size:.95rem;color:var(--ink);box-shadow:var(--shadow-sm);transition:all .18s var(--ease)}.tf-shell .tf-pl-search-input:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft);background:var(--surface)}.tf-shell .tf-pl-search-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3.125rem;padding-inline:1.85rem;border-radius:var(--r-md);border:0;background:var(--ember);color:#ffffff!important;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .18s var(--ease),transform .18s var(--ease);white-space:nowrap}.tf-shell .tf-pl-search-btn:hover{background:var(--ember-deep);color:#ffffff!important}.tf-shell .tf-pl-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3.125rem;padding-inline:1.6rem;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)!important;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .18s var(--ease);white-space:nowrap}.tf-shell .tf-pl-btn-secondary:hover{background:var(--surface-2);border-color:var(--ink-2)}.tf-shell .tf-pl-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3.125rem;padding-inline:1.4rem;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--muted)!important;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .18s var(--ease);white-space:nowrap}.tf-shell .tf-pl-btn-ghost:hover{color:var(--ink)!important;background:var(--surface-2)}.tf-shell .tf-pl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.65rem}.tf-shell .tf-pl-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem}.tf-shell .tf-pl-shortcuts-label{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-pl-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--muted);text-decoration:none;transition:all .18s var(--ease)}.tf-shell .tf-pl-pill:hover{color:var(--ember);border-color:var(--ember-line);background:var(--ember-soft)}.tf-shell .tf-subhero-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin-top:1.5rem}.tf-shell .tf-subhero-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-family:var(--font-mono);font-size:.75rem;color:var(--ink-2);box-shadow:var(--shadow-sm);transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.tf-shell .tf-subhero-chip strong{font-weight:600;color:var(--ink)}.tf-shell .tf-subhero-chip svg{color:var(--ember);flex-shrink:0}.tf-shell .tf-subhero-chip-bullet{color:var(--ember);font-size:.7rem}.tf-shell .tf-subhero-chip:hover{border-color:var(--line-strong);background:var(--surface-2);transform:translateY(-1px)}.tf-shell .tf-subhero-actions{gap:.75rem;margin-top:1.75rem}.tf-shell .tf-subhero-actions,.tf-shell .tf-subhero-shortcuts{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.tf-shell .tf-subhero-shortcuts{gap:.6rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px dashed var(--line);width:100%;max-width:44rem}.tf-shell .tf-subhero-shortcuts-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-subhero-shortcut-pills{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem}.tf-shell .tf-subhero-shortcut-pill{padding:.28rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--muted);text-decoration:none;box-shadow:var(--shadow-sm);transition:all .18s var(--ease)}.tf-shell .tf-subhero-shortcut-pill:hover{color:var(--ember);border-color:var(--ember-line);background:var(--ember-soft);transform:translateY(-1px)}.tf-shell .tf-collections-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;max-width:50rem;margin-top:2rem;text-align:left}.tf-shell .tf-collections-stat-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:all .22s var(--ease)}.tf-shell .tf-collections-stat-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tf-shell .tf-collections-stat-top{display:flex;align-items:center;justify-content:space-between}.tf-shell .tf-collections-stat-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--r-sm);background:var(--ember-soft);color:var(--ember)}.tf-shell .tf-collections-stat-card dd{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.3rem);font-weight:400;line-height:1;color:var(--ink)}.tf-shell .tf-collections-stat-card dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600}.tf-shell .tf-collections-stat-desc{font-size:.8125rem;line-height:1.45;color:var(--muted);margin:0}@media (max-width:720px){.tf-shell .tf-collections-stat-grid{grid-template-columns:1fr;gap:.75rem}}.tf-shell .tf-docs-stats-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;width:100%;max-width:50rem;margin-top:2rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);overflow:hidden;box-shadow:var(--shadow-sm)}.tf-shell .tf-docs-stat-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.2rem 1rem;background:var(--surface);text-align:center;transition:background .25s var(--ease)}.tf-shell .tf-docs-stat-tile:hover{background:var(--surface-2)}.tf-shell .tf-docs-stat-tile-icon{color:var(--ember);margin-bottom:.15rem}.tf-shell .tf-docs-stat-tile b{font-family:var(--font-display);font-size:clamp(1.3rem,2.5vw,1.65rem);font-weight:400;line-height:1.1;color:var(--ink)}.tf-shell .tf-docs-stat-tile span{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}@media (max-width:680px){.tf-shell .tf-docs-stats-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}.tf-shell .tf-library-head{max-width:52rem;margin-inline:auto;text-align:center}.tf-shell .tf-libbar{position:sticky;top:4.25rem;z-index:40;padding-block:.9rem;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.tf-shell .tf-libbar{animation:tf-libbar-pin linear both;animation-timeline:scroll();animation-range:0 12rem}}}@keyframes tf-libbar-pin{to{border-bottom-color:var(--line);box-shadow:0 10px 24px -22px rgba(22,19,15,.55)}}.tf-shell .tf-libbar-inner{display:flex;flex-direction:column;gap:.75rem}.tf-shell .tf-search{display:flex;align-items:center;gap:.7rem;width:100%;max-width:40rem;margin-inline:auto;padding:.3rem .45rem .3rem 1.05rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.tf-shell .tf-search:hover{border-color:var(--ink-2)}.tf-shell .tf-search:focus-within{border-color:var(--ink);box-shadow:var(--shadow-md)}.tf-shell .tf-search svg{color:var(--faint);flex-shrink:0}.tf-shell .tf-search input{flex:1;width:0;min-width:0;border:0;background:transparent;outline:none;padding:.72rem 0;font-family:var(--font-sans);font-size:.95rem;color:var(--ink);text-overflow:ellipsis}.tf-shell .tf-search input::placeholder{color:var(--faint)}.tf-shell .tf-search-kbd{flex-shrink:0;margin-right:.55rem;padding:.2rem .45rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface-2);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;color:var(--faint);white-space:nowrap}.tf-shell .tf-search-clear{flex-shrink:0;display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:999px;background:var(--surface-2);color:var(--muted);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.tf-shell .tf-search-clear:hover{background:var(--ember-soft);color:var(--ember)}.tf-shell .tf-filter-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:0;border:0;background:transparent;box-shadow:none}.tf-shell .tf-cat-rail{position:relative;display:flex;align-items:center;width:100%;min-width:0}.tf-shell .tf-cat-track{display:flex;gap:.4rem;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;padding:.15rem .15rem .3rem;margin-inline:auto;scrollbar-width:none;-ms-overflow-style:none}.tf-shell .tf-cat-track::-webkit-scrollbar{display:none}.tf-shell .tf-cat-rail:after,.tf-shell .tf-cat-rail:before{content:"";position:absolute;top:0;bottom:0;width:3.5rem;pointer-events:none;opacity:0;transition:opacity .25s var(--ease);z-index:1}.tf-shell .tf-cat-rail:before{left:0;background:linear-gradient(90deg,var(--paper) 18%,transparent 100%)}.tf-shell .tf-cat-rail:after{right:0;background:linear-gradient(270deg,var(--paper) 18%,transparent 100%)}.tf-shell .tf-cat-rail.at-end:after,.tf-shell .tf-cat-rail.at-start:before{opacity:1}.tf-shell .tf-cat-arrow{position:absolute;z-index:2;display:grid;place-items:center;width:1.9rem;height:1.9rem;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink-2);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s var(--ease),background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.tf-shell .tf-cat-arrow--prev{left:0}.tf-shell .tf-cat-arrow--next{right:0}.tf-shell .tf-cat-rail.at-end .tf-cat-arrow--next,.tf-shell .tf-cat-rail.at-start .tf-cat-arrow--prev{opacity:1;pointer-events:auto}.tf-shell .tf-cat-arrow:hover{background:var(--ink);border-color:var(--ink);color:#fff}.tf-shell .tf-cat-arrow:active{transform:scale(.94)}@media (hover:none){.tf-shell .tf-cat-arrow{display:none}}.tf-shell .tf-filter-pill{flex:0 0 auto;scroll-snap-align:center;padding:.5rem .95rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-family:var(--font-sans);font-size:.82rem;font-weight:500;white-space:nowrap;color:var(--ink-2);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}.tf-shell .tf-filter-pill:hover{border-color:var(--ember-line);background:var(--ember-soft);color:var(--ember-deep)}.tf-shell .tf-filter-pill.is-active,.tf-shell .tf-filter-pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.tf-shell .tf-filter-pill:active{transform:scale(.97)}.tf-shell .tf-filter-meta{margin:0;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-filter-meta b{margin-right:.35em;font-weight:500;color:var(--ink-2)}.tf-shell .tf-template-grid-section{grid-template-columns:minmax(0,1fr)}.tf-shell .tf-template-grid-section>*{min-width:0}.tf-shell .tf-template-grid-section>.tf-container{padding-top:clamp(.5rem,1.5vw,1rem)}.tf-shell .tf-empty{display:grid;justify-items:center;gap:1.1rem;padding:clamp(2.5rem,6vw,4rem);border:1px dashed var(--line-strong);border-radius:var(--r-lg);text-align:center;color:var(--muted)}.tf-shell .tf-empty p{margin:0}.tf-shell .tf-collection-card{transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.tf-shell .tf-collection-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.tf-shell .tf-collection-media{position:relative;display:block;aspect-ratio:16/10;min-height:0;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface-2);text-decoration:none}.tf-shell .tf-collection-media>.tf-template-preview{width:100%;height:100%}.tf-shell .tf-collection-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,15,.28),transparent 42%);pointer-events:none}.tf-shell .tf-collection-count{align-self:flex-start;padding:.28rem .6rem;background:rgba(255,255,255,.94);font-family:var(--font-mono);font-size:clamp(.62rem,.92rem - .4vw,.74rem);letter-spacing:.1em;text-transform:uppercase;color:var(--ember-deep)}.tf-shell .tf-collection-body{display:flex;flex-direction:column;gap:.85rem;flex:1;padding:clamp(1.15rem,2.4vw,1.5rem)}.tf-shell .tf-collection-card h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink);transition:color .25s var(--ease)}.tf-shell .tf-collection-card:hover h3{color:var(--ember)}.tf-shell .tf-collection-card p{margin:.4rem 0 0;font-size:.9rem;line-height:1.6;color:var(--muted)}.tf-shell .tf-collection-cats{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.tf-shell .tf-collection-cats a,.tf-shell .tf-collection-cats span,.tf-shell .tf-collection-cats-more{padding:.28rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.72rem;font-weight:500;line-height:1.4;color:var(--ink-2);text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.tf-shell .tf-collection-cats a:hover{border-color:var(--ember-line);background:var(--ember-soft);color:var(--ember-deep)}.tf-shell .tf-collection-cats-more{color:var(--faint)}.tf-shell .tf-collection-media .tf-collection-count{position:absolute;top:.7rem;left:.7rem;z-index:1}.tf-shell a.tf-collection-card{gap:.7rem;padding:clamp(1.25rem,2.6vw,1.6rem);text-decoration:none}@media (min-width:761px){.tf-shell .tf-collection-grid:has(a.tf-collection-card){grid-template-rows:auto auto 1fr auto}.tf-shell .tf-collection-grid a.tf-collection-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;align-content:start}.tf-shell .tf-collection-grid a.tf-collection-card .tf-collection-cats,.tf-shell .tf-collection-grid a.tf-collection-card>p{align-self:start}}.tf-shell .tf-collection-samples{list-style:none;margin:0;padding:.6rem 0 0;border-top:1px solid var(--line);display:grid;gap:.1rem}.tf-shell .tf-collection-sample{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .55rem;margin-inline:-.55rem;border-radius:var(--r-sm);text-decoration:none;transition:background .2s var(--ease)}.tf-shell .tf-collection-sample:hover{background:var(--paper)}.tf-shell .tf-collection-sample svg{flex-shrink:0;color:var(--faint);opacity:0;transform:translateX(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease)}.tf-shell .tf-collection-sample:hover svg{opacity:1;transform:none;color:var(--ember)}.tf-shell .tf-collection-sample-text{display:flex;align-items:baseline;gap:.5rem;min-width:0}.tf-shell .tf-collection-sample-text b{font-weight:500;font-size:.86rem;color:var(--ink)}.tf-shell .tf-collection-sample-text small{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-collection-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:.9rem;font-size:.86rem;font-weight:500;color:var(--ember);text-decoration:none}.tf-shell .tf-collection-cta svg{transition:transform .25s var(--ease)}.tf-shell .tf-collection-card:hover .tf-collection-cta svg{transform:translateX(4px)}.tf-shell .tf-cta{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,3rem);border-radius:var(--r-lg);background:var(--ink);color:rgba(255,255,255,.68);text-align:center;overflow:hidden;isolation:isolate}.tf-shell .tf-cta:before{content:"";position:absolute;z-index:-1;pointer-events:none}.tf-shell .tf-cta h2{position:relative;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1.04;letter-spacing:-.03em;color:#fff;text-wrap:balance}.tf-shell .tf-cta .tf-kicker{color:#e9a888}.tf-shell .tf-codeframe{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);background:var(--ink);box-shadow:0 40px 70px -44px rgba(22,19,15,.75)}.tf-shell .tf-codeframe pre{margin:0;padding:clamp(1rem,2.4vw,1.5rem);overflow:auto;font-family:var(--font-mono);font-size:.76rem;line-height:1.75;color:rgba(255,255,255,.72);white-space:pre;scrollbar-width:thin}.tf-shell .tf-codeframe pre b{font-weight:500;color:#fff}.tf-shell .tf-codeframe pre i{font-style:normal;color:#e9a888}.tf-shell .tf-speclist{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0 0;padding:0}.tf-shell .tf-speclist li{padding:.34rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.76rem;color:var(--ink-2)}.tf-shell .tf-speclist li:hover{background:var(--ember-soft);color:var(--ember-deep)}.tf-shell .tf-checklist{list-style:none;display:grid;gap:.7rem;margin:1.4rem 0 0;padding:0}.tf-shell .tf-checklist li{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;line-height:1.55;color:var(--muted)}.tf-shell .tf-checklist svg{flex-shrink:0;margin-top:.15rem;color:var(--ember)}.tf-shell .tf-faq-layout{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}@media (min-width:900px){.tf-shell .tf-faq-layout{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(3rem,6vw,6rem)}.tf-shell .tf-faq-aside{position:relative;height:100%}.tf-shell .tf-faq-sticky{position:-webkit-sticky;position:sticky;top:clamp(84px,12vh,120px);max-width:25rem}}.tf-shell .tf-faq-head .tf-kicker{margin-bottom:.85rem}.tf-shell .tf-faq-head .tf-h2{margin:0;font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.12;letter-spacing:-.02em;color:var(--ink)}.tf-shell .tf-faq-head .tf-lede{margin:1.1rem 0 0;font-size:.98rem;line-height:1.65;color:var(--muted)}.tf-shell .tf-faq-main{min-width:0;width:100%}.tf-shell .tf-faq{border-top:1px solid var(--line);width:100%;max-width:100%}.tf-shell .tf-faq details{border-bottom:1px solid var(--line)}.tf-shell .tf-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:500;letter-spacing:-.01em;color:var(--ink)}.tf-shell .tf-faq summary::-webkit-details-marker{display:none}.tf-shell .tf-faq summary:after{content:"+";flex-shrink:0;font-family:var(--font-mono);font-size:1.25rem;color:var(--faint);transition:transform .25s var(--ease),color .25s var(--ease)}.tf-shell .tf-faq details[open] summary:after{transform:rotate(45deg);color:var(--ember)}.tf-shell .tf-faq p{margin:0;padding:0 0 1.45rem;max-width:100%;font-size:.95rem;line-height:1.7;color:var(--muted)}.tf-shell .tf-template-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.tf-shell .tf-template-card-actions>*{min-width:0;padding-inline:.75rem;white-space:nowrap}.tf-shell a:focus-visible,.tf-shell button:focus-visible,.tf-shell input:focus-visible,.tf-shell summary:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:6px}.tf-shell .tf-spotlight-frame{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.tf-shell .tf-spotlight:hover .tf-spotlight-frame{transform:translateY(-5px)}.tf-shell .tf-speclist li{transition:border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-speclist li:hover{border-color:var(--ember-line);color:var(--ink);transform:translateY(-2px)}.tf-shell .tf-step{position:relative}.tf-shell .tf-step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ember);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}.tf-shell .tf-step:hover:before{transform:scaleY(1)}.tf-shell .tf-step-num{transition:transform .3s var(--ease),letter-spacing .3s var(--ease)}.tf-shell .tf-step:hover .tf-step-num{transform:translateX(3px);letter-spacing:.22em}.tf-shell .tf-codeframe{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.tf-shell .tf-codeframe:hover{transform:translateY(-4px)}.tf-shell .tf-checklist li{transition:color .25s var(--ease)}.tf-shell .tf-checklist li:hover{color:var(--ink)}.tf-shell .tf-checklist svg{transition:transform .3s var(--ease)}.tf-shell .tf-checklist li:hover svg{transform:scale(1.15)}.tf-shell .tf-collection-cats span{transition:background .3s var(--ease),color .3s var(--ease)}.tf-shell .tf-collection-card:hover .tf-collection-cats span{background:var(--ember-soft);color:var(--ember)}.tf-shell .tf-faq summary{transition:color .25s var(--ease),padding-left .25s var(--ease)}.tf-shell .tf-faq summary:hover{padding-left:clamp(.75rem,1.6vw,1.1rem)}.tf-shell .tf-faq details[open] summary{color:var(--ember)}@media (prefers-reduced-motion:no-preference){.tf-shell .tf-cta:before{animation:tf-breathe 9s ease-in-out infinite}}@keyframes tf-breathe{0%,to{opacity:.85}50%{opacity:1}}.tf-shell .tf-header .tfl{transition:transform .25s var(--ease)}.tf-shell .tf-header .tfl:hover{transform:translateY(-1px)}@media (max-width:640px){.tf-shell .tf-codeframe pre{font-size:.68rem;line-height:1.65;padding:.85rem .9rem}.tf-shell .tf-rail{scroll-snap-type:x mandatory;scroll-padding-inline:.25rem;grid-auto-columns:minmax(13.5rem,15.5rem)}.tf-shell .tf-section{padding-block:40px}.tf-shell .tf-collections-head,.tf-shell .tf-docs-head,.tf-shell .tf-library-head,.tf-shell .tf-page-hero{padding-block:36px 22px}}@media (max-width:360px){.tf-shell .tf-collections-head,.tf-shell .tf-docs-head,.tf-shell .tf-library-head,.tf-shell .tf-page-hero{padding-block:30px 18px}.tf-shell .tf-section{padding-block:34px}.tf-shell .tf-rail{grid-auto-columns:minmax(12.5rem,14rem)}}.tf-shell .tf-shelf{padding-block:clamp(2.5rem,5vw,4rem)}.tf-shell .tf-shelf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(1.25rem,2.5vw,1.75rem)}.tf-shell .tf-shelf-heading{min-width:0}.tf-shell .tf-shelf-ctl{display:inline-flex;align-items:center;gap:.85rem;flex:0 0 auto}.tf-shell .tf-shelf-nav{display:inline-flex;align-items:center;gap:.5rem}.tf-shell .tf-shelf-arrow{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),opacity .18s var(--ease)}.tf-shell .tf-shelf-arrow:hover:not(:disabled){transform:translateY(-2px);border-color:var(--ember);color:var(--ember)}.tf-shell .tf-shelf-arrow:active:not(:disabled){transform:translateY(0) scale(.94)}.tf-shell .tf-shelf-arrow:disabled{opacity:.32;cursor:default}.tf-shell .tf-shelf-rail{position:relative}.tf-shell .tf-shelf-rail:after,.tf-shell .tf-shelf-rail:before{content:"";position:absolute;top:0;bottom:0;width:clamp(2rem,5vw,4rem);z-index:2;pointer-events:none;opacity:1;transition:opacity .25s var(--ease)}.tf-shell .tf-shelf-rail:before{left:0;background:linear-gradient(90deg,var(--paper) 20%,transparent 100%)}.tf-shell .tf-shelf-rail:after{right:0;background:linear-gradient(270deg,var(--paper) 20%,transparent 100%)}.tf-shell .tf-shelf-rail[data-at-end=true]:after,.tf-shell .tf-shelf-rail[data-at-start=true]:before{opacity:0}.tf-shell .tf-shelf-track{display:flex;gap:1.125rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:.5rem max(1rem,5vw) 1.5rem;scroll-padding-left:max(1rem,5vw)}.tf-shell .tf-shelf-track::-webkit-scrollbar{display:none}.tf-shell .tf-rcard{position:relative;flex:0 0 auto;width:clamp(17rem,24vw,21.5rem);height:22rem;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm,6px);background:var(--surface-2);box-shadow:0 4px 14px -6px rgba(0,0,0,.25);transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}.tf-shell .tf-rcard:hover{transform:translateY(-5px);border-color:var(--ember-line,rgba(20,184,166,.4));box-shadow:0 24px 40px -20px rgba(0,0,0,.55),0 0 0 1px rgba(20,184,166,.2)}.tf-shell .tf-rcard-media{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden;text-decoration:none;z-index:1}.tf-shell .tf-rcard-media>:first-child{width:100%;height:100%;pointer-events:none;transition:transform .5s var(--ease)}.tf-shell .tf-rcard:hover .tf-rcard-media>:first-child{transform:scale(1.05)}.tf-shell .tf-rcard-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 35%,rgba(8,12,20,.4) 62%,rgba(6,9,15,.88));transition:background .35s var(--ease),opacity .35s var(--ease)}.tf-shell .tf-rcard:focus-within .tf-rcard-scrim,.tf-shell .tf-rcard:hover .tf-rcard-scrim{background:linear-gradient(180deg,rgba(8,12,20,.2),rgba(8,12,20,.72) 36%,rgba(6,9,15,.96))}.tf-shell .tf-rcard-overlay{position:relative;z-index:2;padding:1.15rem;width:100%;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.tf-shell .tf-rcard-overlay a,.tf-shell .tf-rcard-overlay button{pointer-events:auto}.tf-shell .tf-rcard-title-group{transition:transform .35s cubic-bezier(.16,1,.3,1)}.tf-shell .tf-rcard-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.tf-shell .tf-rcard-top h3{margin:0;font-family:var(--font-display);font-size:1.12rem;font-weight:600;line-height:1.3}.tf-shell .tf-rcard-top h3 a{color:#ffffff;text-decoration:none;text-shadow:0 2px 10px rgba(0,0,0,.7);transition:color .2s var(--ease)}.tf-shell .tf-rcard-cat,.tf-shell .tf-rcard-top h3 a:hover{color:var(--ember-soft,#22d3ee)}.tf-shell .tf-rcard-cat{flex:0 0 auto;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.6);opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease),transform .25s var(--ease)}.tf-shell .tf-rcard:focus-within .tf-rcard-cat,.tf-shell .tf-rcard:hover .tf-rcard-cat{opacity:1;transform:translateY(0)}.tf-shell .tf-rcard-expanded{max-height:0;opacity:0;overflow:hidden;transform:translateY(12px);pointer-events:none;display:flex;flex-direction:column;gap:.45rem;transition:max-height .38s cubic-bezier(.16,1,.3,1),opacity .26s var(--ease),transform .38s cubic-bezier(.16,1,.3,1),margin-top .38s cubic-bezier(.16,1,.3,1)}.tf-shell .tf-rcard:focus-within .tf-rcard-expanded,.tf-shell .tf-rcard:hover .tf-rcard-expanded{max-height:220px;opacity:1;transform:translateY(0);margin-top:.65rem;pointer-events:auto}.tf-shell .tf-rcard-desc{margin:0;font-size:.8rem;line-height:1.45;color:rgba(235,240,245,.82);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tf-shell .tf-rcard-meta{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:rgba(210,220,230,.65)}.tf-shell .tf-rcard-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem}.tf-shell .tf-rcard-btn{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;padding:.52rem .75rem;border-radius:var(--r-sm,6px);font:inherit;font-size:.78rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.tf-shell .tf-rcard-btn:active{transform:scale(.97)}.tf-shell .tf-rcard-btn-preview{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.24);color:#ffffff}.tf-shell .tf-rcard-btn-preview:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.45);color:#ffffff}.tf-shell .tf-rcard-btn-download{background:var(--ember);border-color:var(--ember);color:#ffffff}.tf-shell .tf-rcard-btn-download:hover{background:var(--ember-deep,#0f766e);border-color:var(--ember-deep,#0f766e);box-shadow:0 4px 12px rgba(20,184,166,.35)}@media (max-width:640px){.tf-shell .tf-rcard{width:min(80vw,19.5rem);height:20.5rem}.tf-shell .tf-shelf-head{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.tf-shell .tf-rcard,.tf-shell .tf-rcard-cat,.tf-shell .tf-rcard-expanded,.tf-shell .tf-rcard-media>:first-child,.tf-shell .tf-rcard-title-group{transition:none}.tf-shell .tf-rcard:hover{transform:none}}.tf-shell .tf-collection-card{display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}.tf-shell .tf-collection-card:hover{transform:translateY(-5px);border-color:var(--ember-line);box-shadow:0 26px 44px -30px rgba(22,19,15,.4)}.tf-shell .tf-collection-count{flex:0 0 auto;padding:.15rem .5rem;border-radius:999px;background:var(--ember-soft);color:var(--ember);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.tf-shell .tf-collection-card,.tf-shell .tf-collection-card:hover{transform:none}}.tf-shell .tf-how{position:relative;width:100%;background:var(--paper)}@media (min-width:900px){.tf-shell .tf-how{min-height:250vh;padding-top:0;padding-bottom:0}.tf-shell .tf-how-sticky-wrap{position:sticky;top:clamp(72px,11vh,100px);width:100%;padding-block:clamp(2.5rem,5vw,4rem);background:transparent}}.tf-shell .tf-how-kicker-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.tf-shell .tf-how-counter{font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.08em;color:var(--ember);background:var(--ember-soft);border:1px solid var(--ember-line);padding:2px 10px;border-radius:999px}.tf-shell .tf-how-scroll-track{width:100%;height:2px;background:var(--line);border-radius:2px;margin-top:1.25rem;overflow:hidden}.tf-shell .tf-how-scroll-bar{height:100%;background:linear-gradient(90deg,var(--ember),var(--ember-deep));border-radius:2px;transition:width .1s linear}.tf-shell .tf-how-head{margin-bottom:clamp(1.5rem,3vw,2.25rem)}.tf-shell .tf-how-body{display:grid;gap:clamp(1.25rem,3vw,2.5rem);align-items:stretch}@media (min-width:900px){.tf-shell .tf-how-body{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}.tf-shell .tf-how-steps{position:relative;display:grid;align-content:stretch;gap:.5rem;height:100%;margin:0;padding:0 0 0 1.65rem;list-style:none}.tf-shell .tf-how-track{top:.6rem;bottom:.6rem;background:var(--line)}.tf-shell .tf-how-thumb,.tf-shell .tf-how-track{position:absolute;left:0;width:2px;border-radius:2px}.tf-shell .tf-how-thumb{height:calc(100% / 3);background:var(--ember);box-shadow:0 0 10px rgba(180,73,29,.4);transition:transform .42s var(--ease)}.tf-shell .tf-how-step{display:flex;height:100%;align-items:center;gap:.85rem;width:100%;padding:.95rem 1.05rem;border:1px solid transparent;border-radius:var(--r);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .24s var(--ease),border-color .24s var(--ease),transform .24s var(--ease),box-shadow .24s var(--ease)}.tf-shell .tf-how-step:hover{transform:translateX(3px)}.tf-shell .tf-how-step[aria-pressed=true]{border-color:var(--ember-line);background:var(--surface);box-shadow:0 10px 24px -12px rgba(180,73,29,.18),var(--shadow-sm)}.tf-shell .tf-how-active-pill{margin-left:auto;font-family:var(--font-mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ember);background:var(--ember-soft);border:1px solid var(--ember-line);padding:2px 8px;border-radius:999px}.tf-shell .tf-how-num{display:grid;place-items:center;flex:0 0 auto;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);transition:color .24s var(--ease),border-color .24s var(--ease),transform .24s var(--ease),background .24s var(--ease)}.tf-shell .tf-how-step[aria-pressed=true] .tf-how-num{border-color:var(--ember);color:var(--ember);background:var(--ember-soft);transform:scale(1.08)}.tf-shell .tf-how-label{display:grid;gap:.15rem;min-width:0}.tf-shell .tf-how-label em{font-style:normal;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-how-label b{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--ink)}.tf-shell .tf-how-panel{padding:clamp(1.4rem,3.2vw,2.3rem);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md);animation:tf-how-in .38s var(--ease) both;display:flex;flex-direction:column}@keyframes tf-how-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tf-shell .tf-how-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tf-shell .tf-how-panel-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--r);background:var(--ember-soft);color:var(--ember);border:1px solid var(--ember-line)}.tf-shell .tf-how-panel-kicker{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.tf-shell .tf-how-panel h3{margin:0 0 .45rem;font-family:var(--font-display);font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:600;letter-spacing:-.015em;color:var(--ink)}.tf-shell .tf-how-panel p{margin:0 0 1.15rem;max-width:52ch;font-size:.95rem;line-height:1.65;color:var(--muted)}.tf-shell .tf-how-panel-visual{margin:0 0 1.35rem;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);padding:.95rem 1.1rem}.tf-shell .tf-how-mock-browse{display:flex;flex-direction:column;gap:.6rem}.tf-shell .tf-how-mock-search{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:.45rem .9rem;font-size:.82rem;color:var(--muted);box-shadow:var(--shadow-sm)}.tf-shell .tf-how-mock-search svg{color:var(--faint);flex-shrink:0}.tf-shell .tf-how-mock-search i{margin-left:auto;font-style:normal;font-family:var(--font-mono);font-size:.65rem;border:1px solid var(--line);padding:1.5px 6px;border-radius:4px;background:var(--surface-2);color:var(--faint)}.tf-shell .tf-how-mock-chips{display:flex;gap:.45rem;flex-wrap:wrap}.tf-shell .tf-how-mock-chips span{font-size:.74rem;font-weight:500;padding:.28rem .72rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);transition:all .2s var(--ease)}.tf-shell .tf-how-mock-chips span.is-active{background:var(--ember);color:#ffffff;border-color:var(--ember);box-shadow:0 2px 8px -2px rgba(180,73,29,.4)}.tf-shell .tf-how-mock-preview{display:flex;flex-direction:column;gap:.75rem}.tf-shell .tf-how-mock-devices{display:flex;gap:.5rem}.tf-shell .tf-how-mock-devices span{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:500;padding:.28rem .72rem;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--muted)}.tf-shell .tf-how-mock-devices span.is-active{color:var(--ember-deep);border-color:var(--ember-line);background:var(--ember-soft);font-weight:600}.tf-shell .tf-how-mock-screen{border-radius:var(--r);border:1px solid var(--line);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-sm)}.tf-shell .tf-how-mock-screen-bar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--surface);border-bottom:1px solid var(--line)}.tf-shell .tf-how-mock-screen-bar i{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}.tf-shell .tf-how-mock-screen-hero{height:48px;padding:8px 12px;background:linear-gradient(135deg,var(--ember-soft),rgba(250,247,242,.6));display:flex;flex-direction:column;justify-content:center;gap:4px}.tf-shell .tf-how-mock-screen-hero-bar1{width:50%;height:6px;border-radius:3px;background:var(--ink);opacity:.8}.tf-shell .tf-how-mock-screen-hero-bar2{width:30%;height:4px;border-radius:2px;background:var(--muted);opacity:.6}.tf-shell .tf-how-mock-code{border-radius:var(--r);border:1px solid rgba(255,255,255,.1);background:var(--ink);box-shadow:0 16px 36px -16px rgba(22,19,15,.6);overflow:hidden}.tf-shell .tf-how-mock-code-head{display:flex;align-items:center;padding:.45rem .85rem;background:#201b16;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--font-mono);font-size:.7rem;color:#cbbba9}.tf-shell .tf-how-mock-code-head .tf-how-mock-dots{display:flex;gap:4px;margin-right:.6rem}.tf-shell .tf-how-mock-code-head .tf-how-mock-dots i{width:6.5px;height:6.5px;border-radius:50%;opacity:.7}.tf-shell .tf-how-mock-code-head .tf-how-mock-dots i:first-child{background:#ef4444}.tf-shell .tf-how-mock-code-head .tf-how-mock-dots i:nth-child(2){background:#f59e0b}.tf-shell .tf-how-mock-code-head .tf-how-mock-dots i:nth-child(3){background:#10b981}.tf-shell .tf-how-mock-code-head i.tf-how-mock-tag{margin-left:auto;font-style:normal;color:#e9a888;font-size:.65rem;background:rgba(233,168,136,.12);border:1px solid rgba(233,168,136,.25);padding:1px 6px;border-radius:3px}.tf-shell .tf-how-mock-code pre{margin:0;padding:.75rem .95rem;font-family:var(--font-mono);font-size:.74rem;line-height:1.6;color:rgba(255,255,255,.75)}.tf-shell .tf-how-mock-code pre b{font-weight:600;color:#ffffff}.tf-shell .tf-how-mock-code pre i{font-style:normal;color:#e9a888}.tf-shell .tf-how-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.35rem;padding:0;list-style:none}.tf-shell .tf-how-facts li{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:500;color:var(--ink-2);background:var(--surface-2)}.tf-shell .tf-how-check{color:var(--ember)}.tf-shell .tf-how-actions{margin-top:auto}.tf-shell .tf-how-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.35rem;border:1px solid var(--ember);border-radius:999px;background:var(--ember);color:#ffffff;font:inherit;font-size:.88rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);box-shadow:0 4px 14px -3px rgba(180,73,29,.35)}.tf-shell .tf-how-cta:hover{background:var(--ember-deep);border-color:var(--ember-deep);box-shadow:0 6px 18px -3px rgba(180,73,29,.45)}.tf-shell .tf-how-cta:active{transform:scale(.97)}.tf-shell .tf-how-cta svg{transition:transform .2s var(--ease)}.tf-shell .tf-how-cta:hover svg{transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.tf-shell .tf-how-num,.tf-shell .tf-how-step,.tf-shell .tf-how-thumb{transition:none}.tf-shell .tf-how-step:hover{transform:none}.tf-shell .tf-how-panel{animation:none}}@media (max-width:899px){.tf-shell .tf-how{min-height:auto!important;padding-block:clamp(2.5rem,6vw,4.5rem)!important}.tf-shell .tf-how-sticky-wrap{position:static!important;padding-block:0!important;width:100%!important}.tf-shell .tf-how-head{margin-bottom:1.5rem!important}.tf-shell .tf-how-scroll-track{margin-top:1rem!important;height:3px!important}.tf-shell .tf-how-scroll-bar{transition:width .3s cubic-bezier(.16,1,.3,1)!important}}@media (max-width:680px){.tf-shell .tf-how-steps{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.45rem!important;padding:0!important;height:auto!important;margin-bottom:1rem!important}.tf-shell .tf-how-track{display:none!important}.tf-shell .tf-how-step{flex-direction:column!important;align-items:center!important;text-align:center!important;padding:.7rem .35rem!important;gap:.35rem!important;border-radius:var(--r-md)!important;border:1px solid var(--line)!important;background:var(--surface)!important;min-height:72px!important;justify-content:center!important}.tf-shell .tf-how-step:hover{transform:none!important}.tf-shell .tf-how-step[aria-pressed=true]{border-color:var(--ember)!important;background:var(--ember-soft)!important;box-shadow:0 4px 14px -3px rgba(180,73,29,.25)!important}.tf-shell .tf-how-num{width:1.85rem!important;height:1.85rem!important;font-size:.85rem!important}.tf-shell .tf-how-label{gap:.05rem!important;width:100%!important}.tf-shell .tf-how-label em{font-size:.58rem!important;letter-spacing:.06em!important}.tf-shell .tf-how-label b{font-size:.78rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;display:block!important}.tf-shell .tf-how-active-pill{display:none!important}.tf-shell .tf-how-panel{padding:1.15rem 1rem!important;border-radius:var(--r-lg)!important}.tf-shell .tf-how-panel-top{margin-bottom:.6rem!important}.tf-shell .tf-how-panel-icon{width:2.25rem!important;height:2.25rem!important}.tf-shell .tf-how-panel h3{font-size:1.25rem!important;margin-bottom:.35rem!important}.tf-shell .tf-how-panel p{font-size:.88rem!important;line-height:1.55!important;margin-bottom:1rem!important}.tf-shell .tf-how-panel-visual{padding:.75rem .85rem!important;margin-bottom:1rem!important}.tf-shell .tf-how-mock-search{padding:.4rem .75rem!important;font-size:.76rem!important}.tf-shell .tf-how-mock-chips span{font-size:.68rem!important;padding:.22rem .55rem!important}.tf-shell .tf-how-mock-devices{flex-wrap:wrap!important;gap:.35rem!important}.tf-shell .tf-how-mock-devices span{font-size:.68rem!important;padding:.22rem .55rem!important}.tf-shell .tf-how-mock-code pre{font-size:.68rem!important;line-height:1.5!important;padding:.65rem .75rem!important;white-space:pre-wrap!important;word-break:break-word!important;overflow-x:auto!important}.tf-shell .tf-how-facts{gap:.35rem!important;margin-bottom:1.15rem!important}.tf-shell .tf-how-facts li{font-size:.72rem!important;padding:.28rem .65rem!important}.tf-shell .tf-how-cta{width:100%!important;justify-content:center!important;padding:.75rem 1.25rem!important;font-size:.9rem!important}}@media (max-width:380px){.tf-shell .tf-how-head .tf-h2{font-size:1.45rem!important}.tf-shell .tf-how-step{padding:.5rem .25rem!important;min-height:66px!important}.tf-shell .tf-how-num{width:1.65rem!important;height:1.65rem!important}.tf-shell .tf-how-label b{font-size:.72rem!important}.tf-shell .tf-how-panel{padding:1rem .85rem!important}.tf-shell .tf-how-panel h3{font-size:1.15rem!important}}.tf-consent.is-nudging,.tf-shell .tf-consent.is-nudging{animation:tf-nudge .5s var(--ease)}@keyframes tf-nudge{0%,to{transform:translateX(0)}15%{transform:translateX(-6px)}30%{transform:translateX(5px)}45%{transform:translateX(-4px)}60%{transform:translateX(3px)}80%{transform:translateX(-2px)}}@media (prefers-reduced-motion:reduce){.tf-consent.is-nudging{animation:none}}.tf-shell.tf-hero-vertex-track{position:relative;width:100%}@media (min-width:701px){.tf-shell.tf-hero-vertex-track{height:220vh}.tf-shell .tf-hero-vertex-stage{position:sticky;top:0;left:0;width:100%;height:100vh;min-height:100vh;overflow:hidden;background:var(--paper,#faf7f2);isolation:isolate;user-select:none;z-index:10}}@media (max-width:700px){.tf-shell.tf-hero-vertex-track{height:auto}.tf-shell .tf-hero-vertex-stage{position:relative;width:100%;height:auto;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--paper,#faf7f2);isolation:isolate;user-select:none}}.tf-shell .tf-hero-vertex-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 50% 28%,rgba(20,184,166,.09) 0,transparent 68%),radial-gradient(ellipse 65% 45% at 50% 78%,rgba(34,211,238,.07) 0,transparent 60%),radial-gradient(circle at 10% 22%,rgba(20,184,166,.05) 0,transparent 45%),radial-gradient(circle at 90% 22%,rgba(34,211,238,.05) 0,transparent 45%),var(--paper,#faf7f2);z-index:0}.tf-shell .tf-hero-stars{display:none}.tf-shell .tf-hero-vertex-canvas{position:absolute;left:50%;top:0;width:1172px;height:657px;transform:translateX(-50%) scale(var(--k,1));transform-origin:50% 0;pointer-events:auto}.tf-shell .tf-hero-vertex-canvas>*{position:absolute}.tf-shell .tf-hero-vertex-stack{position:absolute;inset:0;z-index:300;pointer-events:auto}.tf-shell .tf-hero-vertex-stack>*{position:absolute}.tf-shell .tf-badge-contract{left:462px;top:95px;width:250px;height:39px;border-radius:6px;z-index:300;border:1px solid rgba(255,255,255,.115);background:linear-gradient(0deg,rgba(190,225,255,.175) 0,rgba(190,225,255,.128) 2px,rgba(190,225,255,.075) 4px,rgba(190,225,255,.026) 6px,rgba(255,255,255,.012) 9px,rgba(255,255,255,.012));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.tf-shell .tf-badge-contract i{position:absolute;left:4px;top:4px;width:29px;height:29px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(0deg,#46afc8 0,#35abc7 2px,#0b859d 4px,#026c84 6px,#004e66 8px,#053f58 10px,#012c3d 12px,#031a2a 14px,#061125 16px,#090f25 19px,#090c1c 23px,#060d16 29px);box-shadow:inset 1px 0 0 rgba(150,220,250,.4),inset -1px 0 0 rgba(150,220,250,.52),0 0 6px rgba(60,190,230,.2),0 3px 8px -5px rgba(90,220,255,.6)}.tf-shell .tf-badge-contract i svg{width:14px;height:16px;position:relative;top:-1px;left:0}.tf-shell .tf-badge-contract b{position:absolute;left:45px;transform-origin:0 50%;top:0;height:39px;display:flex;align-items:center;font-family:Poppins,Inter,system-ui,sans-serif;font-size:13px;font-weight:400;color:rgba(255,255,255,.94);white-space:nowrap;padding-top:1.5px}.tf-shell .tf-h1{left:586px;transform:translateX(-50%);white-space:nowrap;line-height:1;font-family:Poppins,system-ui,sans-serif!important;font-weight:800;font-size:54px;letter-spacing:-.012em;word-spacing:.12em;text-transform:uppercase;color:var(--ink,#16130f);text-shadow:0 1px 3px rgba(22,19,15,.08);z-index:300;overflow:visible}.tf-shell .tf-h1#h1a{top:135px}.tf-shell .tf-h1#h1b{top:190px}.tf-shell .tf-wave-wrap{display:inline-block;opacity:0;color:var(--ink);transform:translateY(22px) rotate(1.8deg);filter:blur(5px);animation:tfWordRevealWave .85s cubic-bezier(.16,1,.3,1) var(--wave-delay,0s) forwards,tfWordFloatingWave 3.8s ease-in-out calc(var(--wave-delay, 0s) + .9s) infinite;will-change:transform,opacity,filter}.tf-shell .tf-wave-wrap.tf-wave-accent{color:var(--ember,#b4491d)}.dark .tf-shell .tf-wave-wrap.tf-wave-accent,html[data-theme=dark] .tf-shell .tf-wave-wrap.tf-wave-accent{color:#ea580c}@keyframes tfWordRevealWave{0%{opacity:0;transform:translateY(22px) rotate(1.8deg);filter:blur(5px)}65%{transform:translateY(-3.5px) rotate(-.5deg);filter:blur(0)}to{opacity:1;transform:translateY(0) rotate(0deg);filter:blur(0)}}@keyframes tfWordFloatingWave{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tf-shell .tf-sub{left:586px;transform:translateX(-50%);white-space:nowrap;line-height:1;font-family:Poppins,system-ui,sans-serif!important;font-weight:400;font-size:13.2px;color:var(--muted,#6e6459);z-index:300;animation:tfSubFadeUp .8s cubic-bezier(.16,1,.3,1) .88s both}.tf-shell .tf-sub#sub1{top:255px}.tf-shell .tf-sub#sub2{top:275px;animation-delay:1s}.tf-shell .tf-sub b{font-family:Poppins,system-ui,sans-serif!important;font-weight:600;color:var(--ink,#16130f)}.tf-shell .tf-sub .nb{white-space:nowrap}@keyframes tfSubFadeUp{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){.tf-shell .tf-sub,.tf-shell .tf-wave-wrap,.tf-shell .tf-wave-wrap.tf-wave-accent{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}.tf-shell .btn.tf-glow-btn{display:grid;place-items:center;color:#fff;position:relative;overflow:hidden;text-decoration:none;background:linear-gradient(0deg,#9ad9ec 1px,#89dff0 2px,#79e0f1 3px,#61daef 4px,#3ec8e4 5px,#14a8c6 6px,#0596b3 7px,#038aa8 8px,#047796 9px,#006180 10px,#025066 12px,#0a4f5e 13px,#04465a 14px,#073746 16px,#0a2a37 18px,#0d212e 20px,#0f1824 24px,#0a121e 30px,#0a111d 34px,#0a111d);box-shadow:inset 0 3px 3px -2px rgba(180,228,255,.1),inset 1px 0 0 rgba(255,255,255,.09),inset -1px 0 0 rgba(255,255,255,.09),var(--hair,0 1px 0 rgba(152,218,234,.38)),1px 0 0 rgba(152,218,234,.17),-1px 0 0 rgba(152,218,234,.17),0 0 8px rgba(60,190,235,.1),0 2px 5px -3px rgba(90,220,255,.45);transition:transform .25s,box-shadow .25s,filter .25s}.tf-shell .btn.tf-glow-btn:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(200,245,255,.7),rgba(200,245,255,0) 13px),linear-gradient(270deg,rgba(200,245,255,.7),rgba(200,245,255,0) 13px);-webkit-mask:linear-gradient(0deg,#000 0,#000 6px,rgba(0,0,0,.4) 12px,rgba(0,0,0,.15) 18px,rgba(0,0,0,.09) 24px,rgba(0,0,0,.02) 30px,rgba(0,0,0,.02));mask:linear-gradient(0deg,#000 0,#000 6px,rgba(0,0,0,.4) 12px,rgba(0,0,0,.15) 18px,rgba(0,0,0,.09) 24px,rgba(0,0,0,.02) 30px,rgba(0,0,0,.02))}.tf-shell .btn.tf-glow-btn span{position:relative;z-index:2;display:block;line-height:1;text-shadow:0 1px 2px rgba(0,20,30,.5);font-family:Poppins,Inter,system-ui,sans-serif;font-weight:500;color:#fff}.tf-shell .btn.tf-glow-btn:hover{transform:translateY(-1px);filter:brightness(1.12);box-shadow:inset 0 1px 0 rgba(200,245,255,.6),inset 1px 0 0 rgba(170,225,255,.35),inset -1px 0 0 rgba(170,225,255,.35),0 6px 22px rgba(20,180,225,.55)}.tf-shell .tf-hero-cta-btn{position:absolute;left:586px;transform:translateX(-50%);top:300px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:6px 4px;background:transparent;color:var(--ink,#16130f);font-family:Poppins,Inter,system-ui,sans-serif;font-size:14.5px;font-weight:500;letter-spacing:-.01em;border:none;outline:none;box-shadow:none;cursor:pointer;z-index:300;transition:opacity .25s var(--ease)}.tf-shell .tf-hero-cta-btn .tf-hero-cta-label{position:relative;display:inline-block;padding-bottom:3px;color:var(--ink,#16130f);transition:color .25s var(--ease)}.tf-shell .tf-hero-cta-btn .tf-hero-cta-label:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--ember,#b4491d);border-radius:1px;transition:width .3s cubic-bezier(.25,.8,.25,1)}.tf-shell .tf-hero-cta-btn:hover .tf-hero-cta-label{color:var(--ember,#b4491d)}.tf-shell .tf-hero-cta-btn:hover .tf-hero-cta-label:after{width:100%}.tf-shell .tf-hero-cta-btn svg{color:var(--ember,#b4491d);transition:transform .25s cubic-bezier(.25,.8,.25,1),color .25s var(--ease)}.tf-shell .tf-hero-cta-btn:hover svg{transform:translateY(3px);color:var(--ember-deep,#8f380f)}.tf-shell .tf-showcase{position:absolute;left:0;top:0;width:1172px;height:0}.tf-shell .tf-ring{position:absolute;left:0;top:-85px;width:1172px;height:657px;z-index:5;perspective:891px;perspective-origin:586px 918px;transform-style:preserve-3d;pointer-events:none}.tf-shell .card.tf-vertex-card{position:absolute;left:586px;top:616px;width:148px;height:304px;margin:-152px 0 0 -74px;border-radius:20px;overflow:hidden;background:#0b111e;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 48px -12px rgba(15,23,42,.45),0 4px 12px rgba(15,23,42,.18);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform-style:preserve-3d;will-change:transform,opacity;pointer-events:auto;cursor:pointer;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column}.tf-shell .card.tf-vertex-card:hover{border-color:rgba(34,211,238,.6);box-shadow:0 24px 56px -10px rgba(15,23,42,.45),0 0 24px rgba(20,184,166,.35),inset 0 1px 0 rgba(255,255,255,.3)}.tf-shell .card.tf-vertex-card .edge{position:absolute;inset:0;border-radius:20px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 16px 30px rgba(255,255,255,.04)}.tf-shell .tf-vcard-ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--tpl-accent,#14b8a6) 38%,transparent) 0,transparent 68%),radial-gradient(circle at 100% 100%,rgba(34,211,238,.12) 0,transparent 50%),linear-gradient(175deg,#151e2f 0,#0d1422 55%,#070b13 100%)}.tf-shell .tf-vcard-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:10px 11px;color:#fff}.tf-shell .tf-vcard-nav{display:flex;align-items:center;justify-content:space-between;gap:6px}.tf-shell .tf-vcard-dots{display:flex;gap:3px}.tf-shell .tf-vcard-dots span{width:4.5px;height:4.5px;border-radius:50%}.tf-shell .tf-vcard-dots .dot-red{background:#f87171}.tf-shell .tf-vcard-dots .dot-amber{background:#fbbf24}.tf-shell .tf-vcard-dots .dot-green{background:#34d399}.tf-shell .tf-vcard-badge{font-family:Poppins,monospace;font-size:7.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2.5px 6.5px;border-radius:4px;background:color-mix(in srgb,var(--tpl-accent,#14b8a6) 22%,transparent);color:var(--tpl-accent,#22d3ee);border:1px solid color-mix(in srgb,var(--tpl-accent,#14b8a6) 45%,transparent)}.tf-shell .tf-vcard-top-head{margin-top:6px}.tf-shell .tf-vcard-title{font-family:Poppins,Inter,sans-serif;font-weight:800;font-size:13px;line-height:1.15;color:#ffffff;letter-spacing:-.015em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 4px rgba(0,0,0,.7)}.tf-shell .tf-vcard-meta{display:flex;align-items:center;gap:4px;margin-top:4px}.tf-shell .tf-vcard-lic-badge{font-family:monospace;font-size:7px;font-weight:600;color:#22d3ee;background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.32);padding:1.5px 5px;border-radius:3px;letter-spacing:.04em}.tf-shell .tf-vcard-sec-chip{font-size:7px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);padding:1.5px 5px;border-radius:3px;white-space:nowrap}.tf-shell .card.tf-vertex-card.tf-ref-event-card{border-radius:20px;background:#0f4f5f;border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 48px -10px rgba(10,24,34,.5),0 4px 14px rgba(10,24,34,.22)}.tf-shell .card.tf-vertex-card.tf-ref-event-card:hover{border-color:rgba(34,211,238,.75);box-shadow:0 26px 56px -8px rgba(16,117,142,.65),0 0 28px rgba(34,211,238,.35)}.tf-shell .card.tf-vertex-card.tf-ref-event-card .edge{border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 16px 30px rgba(255,255,255,.05);z-index:10}.tf-shell .tf-ref-card-img{position:absolute;top:0;left:0;width:100%;height:80%;object-fit:cover;object-position:center 25%;pointer-events:none;user-select:none;z-index:1}.tf-shell .tf-ref-card-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(16,117,142,0),rgba(16,117,142,0) 52%,rgba(16,117,142,.22) 62%,rgba(16,117,142,.75) 72%,#10758e 82%,#0c576b)}.tf-shell .tf-ref-card-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 10px 12px;color:#ffffff;pointer-events:none}.tf-shell .tf-ref-card-title{font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:700;line-height:1.18;color:#ffffff;margin:0 0 10px;letter-spacing:-.015em;text-shadow:0 1px 4px rgba(0,0,0,.35);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tf-shell .tf-ref-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:5px;width:100%}.tf-shell .tf-ref-badge{width:26px;border-radius:5px;overflow:hidden;background:#ffffff;box-shadow:0 2px 6px rgba(0,0,0,.22);display:flex;flex-direction:column;flex-shrink:0;text-align:center}.tf-shell .tf-ref-badge-top{background:#094757;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;font-size:5.5px;font-weight:700;padding:2px 0;letter-spacing:.05em;line-height:1;text-transform:uppercase}.tf-shell .tf-ref-badge-body{padding:2px 0 2.5px;background:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center}.tf-shell .tf-ref-badge-num{font-family:Poppins,Inter,sans-serif;font-size:9.5px;font-weight:800;line-height:1;color:#0c3845}.tf-shell .tf-ref-badge-sub{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;font-size:5px;font-weight:700;color:#4b7380;letter-spacing:.04em;margin-top:1.5px;line-height:1;text-transform:uppercase}.tf-shell .tf-ref-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.5px;justify-content:center}.tf-shell .tf-ref-venue{font-family:Poppins,Inter,sans-serif;font-size:8px;font-weight:700;color:#ffffff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.tf-shell .tf-ref-addr1,.tf-shell .tf-ref-addr2{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:6px;line-height:1.25;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-shell .tf-ref-time{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;text-align:right;justify-content:center}.tf-shell .tf-ref-time-val{font-family:Poppins,Inter,sans-serif;font-size:7.5px;font-weight:700;color:#ffffff;line-height:1.1}.tf-shell .tf-ref-time-tz{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;font-size:5.5px;font-weight:600;color:rgba(255,255,255,.78);letter-spacing:.04em;margin-top:1.5px;line-height:1}.tf-shell .tf-vcard-foot{display:flex;align-items:center;justify-content:space-between;padding-top:7px;border-top:1px solid rgba(255,255,255,.12);margin-top:auto}.tf-shell .tf-vcard-lic{font-family:Poppins,sans-serif;font-size:8px;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.03em}.tf-shell .tf-vcard-cta-icon{color:var(--tpl-accent,#22d3ee);transition:transform .2s cubic-bezier(.25,.8,.25,1)}.tf-shell .card.tf-vertex-card:hover .tf-vcard-cta-icon{transform:translateX(3px);color:#22d3ee}.tf-shell .browser.tf-vertex-browser{position:absolute;left:165px;top:695px;width:842px;height:520px;border-radius:12px 12px 0 0;overflow:hidden;z-index:100;box-shadow:0 -16px 48px -12px rgba(22,19,15,.14),0 0 0 1px rgba(22,19,15,.08);background:#fff;will-change:transform,box-shadow;transform-style:preserve-3d;transition:box-shadow .15s ease-out}.tf-shell .browser.tf-vertex-browser:before{content:"";position:absolute;left:0;right:0;top:42px;bottom:0;background:#f8fafc;z-index:0}.tf-shell .bar.tf-vbar{position:absolute;left:0;top:0;width:100%;height:42px;background:linear-gradient(180deg,#f8fafc,#edf2f7);border-bottom:1px solid rgba(22,19,15,.08);-webkit-backdrop-filter:blur(6px) saturate(112%);backdrop-filter:blur(6px) saturate(112%);z-index:2}.tf-shell .dots.tf-vdots{position:absolute;left:27px;top:16px;display:flex;gap:4px}.tf-shell .dots.tf-vdots i{width:8px;height:8px;border-radius:50%}.tf-shell .omni.tf-vomni{position:absolute;left:246px;top:7px;width:350px;height:26px;border-radius:5px;background:#ffffff;border:1px solid rgba(22,19,15,.1);box-shadow:0 1px 2px rgba(22,19,15,.04);display:flex;align-items:center;justify-content:center;gap:6px}.tf-shell .omni.tf-vomni svg{width:10px;height:10px;color:#64748b;opacity:.85}.tf-shell .omni.tf-vomni span{font-size:9.5px;color:#475569;letter-spacing:.005em;font-family:Poppins,monospace}.tf-shell .tools.tf-vtools{position:absolute;right:27px;top:14px;display:flex;align-items:center;gap:6px;color:#64748b;opacity:.9}.tf-shell .tools.tf-vtools svg{width:12px;height:12px;color:#64748b}.tf-shell .page.tf-vpage{position:absolute;left:7px;right:6px;top:42px;bottom:0;background:#fff;color:#111;overflow:hidden;border-radius:6px 6px 0 0;z-index:1}.tf-shell .ann.tf-vann{position:absolute;left:0;top:0;width:100%;height:16px;background:#101210;display:grid;place-items:center;border-radius:6px 6px 0 0}.tf-shell .ann.tf-vann span{font-size:5px;letter-spacing:.06em;color:#cfcfcf;font-family:Poppins,sans-serif;text-transform:uppercase}.tf-shell .ann.tf-vann u{position:absolute;font-size:6px;color:#9a9a9a;text-decoration:none}.tf-shell .ann.tf-vann u:first-of-type{left:20px}.tf-shell .ann.tf-vann u:last-of-type{right:20px}.tf-shell .shoplogo.tf-vshoplogo{position:absolute;left:50%;transform:translateX(-50%);top:24px;text-align:center}.tf-shell .shoplogo.tf-vshoplogo em{font-family:Playfair Display,serif;font-style:normal;font-weight:600;font-size:15px;letter-spacing:.14em;line-height:1;display:block;color:#111}.tf-shell .shoplogo.tf-vshoplogo i{font-style:normal;font-size:5px;letter-spacing:.3em;color:#3a3a3a;margin-top:3px;display:block}.tf-shell .shopicons.tf-vshopicons{position:absolute;right:100px;top:33px;display:flex;gap:5px;opacity:.85}.tf-shell .shopicons.tf-vshopicons svg{width:7px;height:7px}.tf-shell .pagebody.tf-vpagebody{position:absolute;left:0;right:0;top:62px;bottom:0;background:#fff;overflow:hidden}.tf-shell .pghero.tf-vpghero{position:relative;margin:0 26px;height:158px;border-radius:6px;overflow:hidden;background:linear-gradient(120deg,#e8dcd4,#cbb6a8)}.tf-shell .pghero.tf-vpghero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tf-shell .pghero.tf-vpghero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,20,16,.68),rgba(28,20,16,.35) 46%,rgba(28,20,16,0) 72%)}.tf-shell .pghero.tf-vpghero .copy{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:#fff}.tf-shell .pghero.tf-vpghero .copy u{font-size:4.6px;letter-spacing:.26em;text-transform:uppercase;opacity:.9;display:block;text-decoration:none}.tf-shell .pghero.tf-vpghero .copy em{font-family:Playfair Display,serif;font-style:normal;font-weight:600;font-size:15px;line-height:1.12;margin-top:6px;display:block;color:#fff}.tf-shell .tf-vpghero-btn{display:inline-block;margin-top:10px;padding:5px 13px;border-radius:6px;background:#fff;color:#17181c;font-size:5.2px;font-weight:600;letter-spacing:.06em;text-decoration:none}.tf-shell .pgsec.tf-vpgsec{display:flex;align-items:baseline;justify-content:space-between;margin:16px 26px 9px}.tf-shell .pgsec.tf-vpgsec b{font-family:Playfair Display,serif;font-weight:600;font-size:9px;color:#17181c}.tf-shell .pgsec.tf-vpgsec a{font-size:4.6px;letter-spacing:.14em;color:#8a8a8a;text-transform:uppercase;text-decoration:none}.tf-shell .pggrid.tf-vpggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 26px}.tf-shell .pgcard.tf-vpgcard{text-decoration:none;color:inherit;display:block}.tf-shell .pgcard.tf-vpgcard .ph{position:relative;height:0;padding-bottom:104%;border-radius:6px;overflow:hidden;background:linear-gradient(150deg,#efe7e1,#ddcfc6)}.tf-shell .pgcard.tf-vpgcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tf-shell .pgcard.tf-vpgcard .tag{position:absolute;left:6px;top:6px;padding:2px 5px;border-radius:3px;background:#17181c;color:#fff;font-size:3.8px;font-weight:600;letter-spacing:.1em}.tf-shell .pgcard.tf-vpgcard b{display:block;margin-top:6px;font-size:5.4px;font-weight:600;color:#17181c;letter-spacing:.01em}.tf-shell .pgcard.tf-vpgcard i{display:block;font-style:normal;margin-top:2px;font-size:4.6px;color:#8a8a8a}.tf-shell .pgcard.tf-vpgcard s{display:block;margin-top:3px;font-size:5.6px;font-weight:700;color:#17181c;text-decoration:none}.tf-shell .pgcard.tf-vpgcard s span{font-weight:400;color:#0f766e;margin-left:4px;font-size:4.6px}.tf-shell .pgstrip.tf-vpgstrip{display:flex;justify-content:space-between;margin:16px 26px 0;padding:9px 0;border-top:1px solid #eee6e0;border-bottom:1px solid #eee6e0}.tf-shell .pgstrip.tf-vpgstrip span{font-size:4.4px;letter-spacing:.12em;color:#7d7169;text-transform:uppercase}@media (min-width:701px) and (max-width:1080px){.tf-shell .tf-badge-contract{left:448px;width:277px}.tf-shell .tf-hero-vertex-stack{transform:translateY(var(--stshift,0))}.tf-shell .tf-showcase{transform:translateY(var(--sshift,0))}.tf-shell .tf-ring{transform:scale(var(--rs,1));transform-origin:586px 595px}}@media (max-width:700px){.tf-shell.tf-hero-vertex-track{height:auto!important;min-height:0!important;overflow:visible!important}.tf-shell .tf-hero-vertex-stage{min-height:auto!important;padding:clamp(1.25rem,3.5vh,2rem) 0 clamp(2rem,4vh,3rem)!important}.tf-shell .tf-hero-vertex-canvas,.tf-shell .tf-hero-vertex-stage{position:relative!important;top:auto!important;left:auto!important;height:auto!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important}.tf-shell .tf-hero-vertex-canvas{width:100%!important;max-width:100%!important;transform:none!important;padding:0 16px!important;box-sizing:border-box!important}.tf-shell .tf-hero-vertex-canvas>*{position:relative!important;left:auto!important;top:auto!important}.tf-shell .tf-hero-vertex-stack{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;pointer-events:auto!important}.tf-shell .tf-h1,.tf-shell .tf-hero-vertex-stack>*{position:relative!important;left:auto!important;top:auto!important}.tf-shell .tf-h1{transform:none!important;white-space:normal!important;text-align:center!important;font-family:Poppins,system-ui,sans-serif!important;font-weight:800!important;font-size:clamp(23px,6.8vw,34px)!important;line-height:1.15!important;letter-spacing:-.015em!important;max-width:100%!important;margin:0!important;padding:0 4px!important;word-break:break-word!important}.tf-shell .tf-h1#h1a{margin-top:clamp(.5rem,2vh,1.25rem)!important}.tf-shell .tf-h1#h1b{margin-top:.25rem!important}.tf-shell .tf-sub{position:relative!important;left:auto!important;top:auto!important;transform:none!important;white-space:normal!important;text-align:center!important;font-family:Poppins,system-ui,sans-serif!important;font-size:clamp(12.5px,3.5vw,14.5px)!important;line-height:1.5!important;max-width:360px!important;margin:0!important;padding:0 10px!important}.tf-shell .tf-sub#sub1{margin-top:clamp(.75rem,2vh,1.15rem)!important}.tf-shell .tf-sub#sub2{margin-top:.2rem!important}.tf-shell .tf-hero-cta-btn{transform:none!important;margin-top:clamp(1rem,2.5vh,1.5rem)!important;display:inline-flex!important;gap:8px!important;padding:8px 18px!important;font-size:14px!important;z-index:20!important}.tf-shell .tf-hero-cta-btn,.tf-shell .tf-showcase{position:relative!important;left:auto!important;top:auto!important;align-items:center!important;justify-content:center!important}.tf-shell .tf-showcase{width:100%!important;max-width:100%!important;height:330px!important;min-height:330px!important;margin-top:14px!important;margin-bottom:1.5rem!important;overflow:visible!important;display:flex!important;perspective:850px!important;-webkit-perspective:850px!important;pointer-events:auto!important}.tf-shell .tf-ring{position:absolute!important;left:50%!important;top:calc(50% - 616px)!important;margin-left:-586px!important;margin-top:0!important;width:1172px!important;height:657px!important;transform-origin:586px 616px!important;transform:scale(clamp(.72,calc(100vw / 480),.9))!important;pointer-events:auto!important}.tf-shell .browser.tf-vertex-browser{display:none!important}}@media (max-width:380px){.tf-shell .tf-h1{font-size:21px!important}.tf-shell .tf-sub{font-size:12px!important}.tf-shell .tf-showcase{height:290px!important;min-height:290px!important;margin-top:10px!important}.tf-shell .tf-ring{transform:scale(.68)!important}}@media (prefers-reduced-motion:reduce){.tf-shell .tf-ring .card.tf-vertex-card{transition:none!important}}.tf-preview-drawer-root{isolation:isolate}.tf-preview-drawer-panel{box-shadow:0 -20px 60px -15px rgba(22,19,15,.4),0 0 0 1px var(--line,#e7ded1);will-change:transform}.tf-drawer-toolbar{min-height:3.75rem}.tf-drawer-stage{min-height:0}.tf-drawer-device-frame{box-shadow:0 25px 60px -20px rgba(22,19,15,.35),0 4px 16px rgba(22,19,15,.08)}