:root{color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:#fff}
body{overflow-x:hidden;font-family:Inter,sans-serif}
img[data-fxnl-src]:not([data-fxnl-media-ready="true"]),
image[data-fxnl-href]:not([data-fxnl-media-ready="true"]){visibility:hidden}
.subpage-stage{position:relative;width:100%;max-width:calc(var(--page-w)*1px);aspect-ratio:var(--page-w)/var(--page-h);container-type:inline-size;margin:0 auto;background:#000;overflow:hidden}
.subpage-canvas{position:absolute;inset:0;width:calc(var(--page-w)*1px);height:calc(var(--page-h)*1px);transform:scale(calc(100cqw/(var(--page-w)*1px)));transform-origin:0 0;background:#000;overflow:hidden}
.subpage .mn{position:absolute;left:0;top:0;box-sizing:border-box;margin:0;padding:0}
.subpage .mc{overflow:visible}
.subpage .mg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.subpage .mt{z-index:2;white-space:pre-wrap;overflow:visible}
/* Figma mask wrappers export overflow:hidden, which is still programmatically
   scrollable — anchor jumps / scrollIntoView can silently scroll the mask and
   wreck the artwork. clip cannot scroll. */
.subpage .mn[style*="overflow:hidden"]{overflow:clip!important}
.figma-rich-line{display:block;margin:0}
.article-page .figma-rich-line{margin-bottom:30px}
.article-page .figma-rich-line.is-list{margin-bottom:8px;padding-left:18px;text-indent:-18px}
.public-page .figma-rich-line{margin-bottom:20px}
.article-page .figma-rich-line:last-child,.public-page .figma-rich-line:last-child{margin-bottom:0}
.figma-rich-line strong{font-weight:inherit;color:inherit}
.mobile-subpage{display:none}
.page-logo-link{position:fixed;z-index:1000;top:20px;right:max(22px,calc((100vw - 1800px)/2));width:160px;height:64px;border-radius:8px}
.subpage-route-link{position:absolute;z-index:900;background:transparent;color:transparent;text-decoration:none}
.subpage-card-link{position:absolute;z-index:950;display:block;background:transparent;cursor:pointer;pointer-events:auto;touch-action:manipulation;border-radius:24px;-webkit-tap-highlight-color:transparent}
/* TZ B2: legal card glows read dimmer than Figma — boost the authored opacity */
.m14_71249,.m14_71257,.m14_71265{opacity:.5!important}
.license-legal-link{color:rgba(0,255,174,1);text-decoration:none;pointer-events:auto}
.license-legal-link:hover,.license-legal-link:focus-visible{text-decoration:underline}
.article-hero-art::after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.78) 78%,#000 100%);pointer-events:none}
.article-footer-menu{line-height:17px!important}
.subpage-footer-link{display:block;color:inherit;text-decoration:none;line-height:inherit;cursor:pointer}
.subpage-footer-link+.subpage-footer-link{margin-top:29.35px}
.subpage-footer-legal-separator{position:absolute;z-index:920;width:1px;background:rgba(255,255,255,.5);transform:translateY(-4%);pointer-events:none}
.subpage-join-link,.subpage-header-back{position:absolute;z-index:990;display:block;background:transparent;cursor:pointer;pointer-events:auto;touch-action:manipulation;border-radius:999px;-webkit-tap-highlight-color:transparent;transition:background-color .22s ease,box-shadow .22s ease,filter .22s ease}
.join-free-live-button{isolation:isolate}
.subpage-faq-toggle::before,.subpage-faq-toggle::after,.article-faq-toggle::before,.article-faq-toggle::after{content:"";position:absolute;z-index:5;left:27px;top:38px;width:26px;height:4px;border-radius:2px;background:#003d2d;pointer-events:none}
.subpage-faq-toggle::after,.article-faq-toggle::after{transform:rotate(90deg)}
.subpage-faq-toggle.is-open::before,.article-faq-toggle.is-open::before{transform:rotate(45deg)}
.subpage-faq-toggle.is-open::after,.article-faq-toggle.is-open::after{transform:rotate(135deg)}
.article-author-avatar{background-size:210.54% 210.54%!important;background-position:50% 17.5%!important;background-repeat:no-repeat!important}
.blog-eye-live{background:url('/assets/vec/blog-eye.svg') center/contain no-repeat!important}
.blog-eye-live>*{display:none!important}
.public-faq-live{position:absolute;z-index:80;display:flex;flex-direction:column;background:transparent;color:#fff;overflow:hidden;font-family:Inter,sans-serif;transition:height .32s cubic-bezier(.22,.8,.22,1)}
/* The legal export contains a non-interactive FAQ underneath the live owner.
   Hide every authored text node by identity, not by a measured rectangle: the
   final mobile question sits just outside that rectangle in WebKit and used to
   reappear as a duplicated seventh row. */
.m14_71318,.m14_71319,.m14_71320,.m14_71321,.m14_71322,.m14_71323,.m14_71324,
.m14_142831,.m14_142832,.m14_142833,.m14_142834,.m14_142835,.m14_142836,.m14_142837{visibility:hidden!important}
.public-faq-item{position:relative;flex:0 0 var(--public-faq-row,112px);border-bottom:1px solid rgba(255,255,255,.18);overflow:hidden;transition:flex-basis .32s cubic-bezier(.22,.8,.22,1)}
.public-faq-item:last-child{border-bottom:0}
.public-faq-item.is-open{flex-basis:var(--public-faq-open-row,242px)}
.public-faq-question{position:relative;display:block;width:100%;height:var(--public-faq-row,112px);margin:0;padding:0 64px 0 0;border:0;background:transparent;color:#fff;font:500 26px/1.25 Inter,sans-serif;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.public-faq-item.is-open .public-faq-question{height:var(--public-faq-open-question,64px)}
.public-faq-live-icon{position:absolute;right:0;top:50%;width:24px;height:24px;transform:translateY(-50%);transition:transform .24s ease}
.public-faq-live-icon::before,.public-faq-live-icon::after{content:"";position:absolute;left:2px;top:11px;width:20px;height:2px;border-radius:2px;background:#fff}
.public-faq-live-icon::after{transform:rotate(90deg)}
.public-faq-item.is-open .public-faq-live-icon{transform:translateY(-50%) rotate(45deg)}
.public-faq-answer{margin:0;padding:0 64px 0 0;color:rgba(255,255,255,.82);font:400 24px/1.35 Inter,sans-serif;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .28s ease}
.public-faq-item.is-open .public-faq-answer{opacity:1;transform:none}
.article-faq-cover{position:absolute;z-index:78;background:#000;pointer-events:none}
.article-faq-panel-motion{position:absolute;z-index:79;background:#0b1712;border-radius:0 0 24px 24px;pointer-events:none;contain:strict;transform-origin:top center;will-change:transform}
.article-faq-divider{position:absolute;z-index:4;height:1px;background:rgba(148,255,221,.2);pointer-events:none}
.article-faq-live{position:absolute;z-index:80;display:flex;flex-direction:column;padding:0 40px;background:transparent;color:#fff;overflow:hidden;font-family:Inter,sans-serif;contain:strict;isolation:isolate}
.article-faq-item{position:relative;flex:0 0 var(--article-faq-row,143.5px);border-bottom:1px solid rgba(148,255,221,.2);overflow:hidden;transition:background-color .24s ease;will-change:transform}
.article-faq-item.is-closing{overflow:visible}
.article-faq-item:last-child{flex-basis:var(--article-faq-last-row,148.5px);border-bottom:0}
.article-faq-item.is-open{flex-basis:var(--article-faq-open-row,271px)}
.article-faq-question{position:relative;display:flex;align-items:center;width:100%;height:var(--article-faq-row,143.5px);margin:0;padding:0 104px 0 0;border:0;background:transparent;color:#94ffdd;font:500 32px/1.2 Inter,sans-serif;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.article-faq-label{display:block;pointer-events:none}
.article-faq-icon{position:absolute;right:0;top:28.5px;width:80px;height:80px;border-radius:50%;background:#00ffae;transition:transform .24s ease}
.article-faq-icon::before,.article-faq-icon::after{content:"";position:absolute;left:27px;top:38px;width:26px;height:4px;border-radius:2px;background:#003d2d;transition:transform .24s ease}
.article-faq-icon::after{transform:rotate(90deg)}
.article-faq-item.is-open .article-faq-icon{transform:rotate(45deg)}
.article-faq-answer{max-width:1060px;margin:-35px 0 0;padding:0 104px 0 0;color:rgba(255,255,255,.78);font:400 24px/1.2 Inter,sans-serif;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .28s ease}
.article-faq-item.is-open .article-faq-answer{opacity:1;transform:none}
.legal-join-plane::before{content:"";position:absolute;z-index:8;left:34px;top:50%;width:28px;height:24px;transform:translateY(-50%);background:url('/assets/vec/telegram-plane-white.svg') center/contain no-repeat;pointer-events:none}
.join-free-arrow{position:absolute;z-index:4;right:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);background:url('/assets/vec/arrow-up-right-black.svg') center/contain no-repeat;pointer-events:none}
.article-blog-back{position:absolute;z-index:980;display:block;cursor:pointer;border-radius:10px}
.article-roadmap{position:fixed;z-index:1100;top:clamp(76px,7vw,134px);right:8.28vw;width:20.87vw;max-width:401px;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px);transition:opacity .22s ease,transform .22s ease,visibility .22s;font-family:Inter,sans-serif}
.article-roadmap.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.article-roadmap ol{--roadmap-dot:clamp(10px,1.04vw,20px);--roadmap-dot-top:clamp(2px,.23vw,4px);--roadmap-gap:clamp(18px,2.15vw,42px);--roadmap-track:rgba(148,255,221,.5);--roadmap-dot-color:#4a806f;position:relative;display:grid;gap:var(--roadmap-gap);list-style:none;margin:0;padding:0}
.article-roadmap li{position:relative;min-height:clamp(18px,2.1vw,40px);padding-left:clamp(30px,3.125vw,60px)}
.article-roadmap li::before{content:"";position:absolute;z-index:1;left:0;top:var(--roadmap-dot-top);width:var(--roadmap-dot);height:var(--roadmap-dot);border-radius:50%;background:var(--roadmap-dot-color);box-shadow:0 0 0 3px #000;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.article-roadmap li::after{content:"";position:absolute;z-index:0;left:calc(var(--roadmap-dot)/2);top:calc(var(--roadmap-dot-top) + var(--roadmap-dot)/2);width:1px;height:calc(100% + var(--roadmap-gap));background:var(--roadmap-track);transform:translateX(-50%)}
.article-roadmap li:last-child::after{content:none}
.article-roadmap li.is-active::before{background:#94ffdd;box-shadow:0 0 0 3px #000,0 0 18px rgba(0,255,174,.65);transform:scale(1.15)}
.article-roadmap button{display:block;width:100%;padding:0;border:0;background:none;color:rgba(255,255,255,.5);font:400 clamp(13px,1.25vw,24px)/1.22 Inter,sans-serif;text-align:left;cursor:pointer;transition:color .2s ease}
.article-roadmap li.is-title button{color:#fff;font-weight:700}
.article-roadmap li.is-active button,.article-roadmap button:hover{color:#fff}
.article-page .subpage-stage{max-width:none}
.article-body-copy .figma-type-run[style*="font-weight: 400"]{font-weight:400!important;font-variation-settings:'wght' 350}
.article-reaction-btn{position:absolute;z-index:90;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .2s ease}
.article-reaction-btn:hover{transform:scale(1.05)}
.article-negative-reaction,.article-positive-reaction{background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;transition:opacity .25s ease,filter .25s ease}
.article-positive-reaction{background-position:left center!important}
.article-negative-reaction[data-fxnl-media-active=true],.article-positive-reaction[data-fxnl-media-active=true]{background-image:var(--fxnl-reaction-image)!important}
.article-negative-reaction>*,.article-positive-reaction>*{visibility:hidden!important}
.subpage-canvas[data-reaction=positive] .article-negative-reaction,.subpage-canvas[data-reaction=negative] .article-positive-reaction{opacity:.35;filter:grayscale(.5) brightness(.7)}
.subpage-canvas[data-reaction=positive] .article-positive-reaction{filter:brightness(.82) saturate(.86) drop-shadow(0 0 18px rgba(0,255,174,.32))}
.subpage-canvas[data-reaction=negative] .article-negative-reaction{filter:brightness(.82) saturate(.86) drop-shadow(0 0 18px rgba(255,119,126,.34))}
.article-reaction-prompt,.article-reaction-options{transition:opacity .28s ease,margin-top .38s cubic-bezier(.22,.8,.22,1)}
.article-reaction-feedback{position:absolute;z-index:92;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;font-family:Inter,sans-serif;opacity:0;margin-top:72px;pointer-events:none;transition:opacity .28s ease,margin-top .38s cubic-bezier(.22,.8,.22,1)}
.article-reaction-feedback-icon{display:block;width:auto;height:223px;max-width:294px;margin-bottom:24px;object-fit:contain}
.article-reaction-feedback-preload{position:absolute;left:50%;top:50%;width:1px;height:1px;opacity:0;pointer-events:none}
.article-reaction-feedback-title{font:600 48px/1.2 Inter,sans-serif}
.article-reaction-feedback-copy{margin-top:4px;color:#fff;font:400 36px/1.2 Inter,sans-serif;opacity:.7}
.subpage-canvas[data-reaction] .article-reaction-prompt,.subpage-canvas[data-reaction] .article-reaction-options{opacity:0;margin-top:-96px}
.subpage-canvas[data-reaction] .article-reaction-btn{opacity:0;pointer-events:none;margin-top:-96px}
.subpage-canvas[data-reaction] .article-reaction-feedback{opacity:1;margin-top:0}
.subpage .footer-cta-copy{margin-top:-10px}
.article-faq-authored-hidden{visibility:hidden!important}
.legal-card-link{overflow:hidden}
.subpage-route-link:focus-visible,.page-logo-link:focus-visible{outline:3px solid #00ffae;outline-offset:3px}
.subpage-card-link:focus-visible,.article-blog-back:focus-visible,.article-roadmap button:focus-visible,.subpage-footer-link:focus-visible,.subpage-join-link:focus-visible,.subpage-header-back:focus-visible,.article-reaction-btn:focus-visible,.article-faq-question:focus-visible{outline:3px solid #00ffae;outline-offset:3px}
/* TZ F4: unified CTA hover — slight smooth zoom, faint brighten, sheen sweep */
.cta-zoom-part{transition:scale .3s ease,filter .3s ease}
.cta-zoom-on .join-free-arrow{animation:cta-arrow-nudge-diag 1.1s ease-in-out infinite}
@keyframes cta-arrow-nudge-diag{0%,100%{translate:0 0}50%{translate:4px -4px}}
@media (hover:hover) and (pointer:fine){
  .subpage-join-link{overflow:hidden}
  .subpage-join-link::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-80%;width:55%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);pointer-events:none}
  .subpage-join-link:hover::after{left:145%;transition:left .75s ease}
  .legal-card-link::after{content:"";position:absolute;top:-35%;bottom:-35%;left:-90%;width:60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);pointer-events:none}
  .legal-card-link:hover::after{left:150%;transition:left .7s ease}
  .cta-zoom-on{scale:1.045;filter:brightness(1.12)}
  /* Matrix-composed wrappers already carry the zoom inside their transform. */
  .cta-zoom-matrix.cta-zoom-on{scale:none}
  body:has(.subpage-header-back:hover) .subpage-back-arrow,body:has(.article-blog-back:hover) .subpage-back-arrow{animation:subpage-back-sway 1.2s ease-in-out infinite}
}
@keyframes subpage-back-sway{0%,100%{translate:0 0}45%{translate:-7px 0}70%{translate:-3px 0}}
@media (prefers-reduced-motion:reduce){.subpage-join-link,.subpage-header-back,.article-blog-back,.article-faq-live,.article-faq-item,.article-faq-icon,.article-faq-icon::before,.article-faq-icon::after,.article-faq-answer,.public-faq-live,.public-faq-item,.public-faq-live-icon,.public-faq-answer,.article-reaction-prompt,.article-reaction-options,.article-reaction-feedback,.article-reaction-btn,.cta-zoom-part{transition:none}.subpage-back-arrow,.join-free-arrow{animation:none!important}.subpage-join-link::after,.legal-card-link::after{display:none}}
@media(max-width:767px){.desktop-subpage{display:none}.mobile-subpage{display:block}.article-roadmap{display:none!important}.page-logo-link{top:10px;right:18px;width:100px;height:44px}.article-hero-art::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.18) 38%,rgba(0,0,0,.88) 76%,#000 100%)}.article-footer-menu{line-height:24px!important}.subpage-footer-link+.subpage-footer-link{margin-top:20px}
/* TZ I4/I5: browser wraps the intro one line taller than the Figma box, so it bleeds into the hero image — tighten to refit.
   Extra .subpage ancestor outranks typography.css's :is(.mobile-stage,.subpage) !important per-node rules; margins are inline on the spans. */
.subpage .mobile-subpage .m14_142107,.subpage .mobile-subpage .m14_142335,.subpage .mobile-subpage .m14_142584{line-height:26.5px!important}
.subpage .mobile-subpage .m14_142107 .figma-rich-line,.subpage .mobile-subpage .m14_142335 .figma-rich-line,.subpage .mobile-subpage .m14_142584 .figma-rich-line{margin-bottom:24px!important}
/* TZ I2: the 104px answer right-padding only exists for the desktop toggle column — on the narrow mobile stage it forces extra wraps. */
.mobile-subpage .article-faq-answer{padding-right:24px}
.mobile-subpage .article-faq-question{font-size:28px;line-height:33.6px}
.mobile-subpage .article-faq-label{width:330px;flex:0 0 330px}
.mobile-subpage .article-faq-answer{margin-top:0;font-size:20px;line-height:24px}
.mobile-subpage .public-faq-answer{font-size:20px;line-height:24px}
.mobile-subpage .article-reaction-feedback-icon{height:190px;margin-bottom:18px}
/* Body copy inherits each Figma text node's generated line-height contract.
   A former generic 1.25 override changed the authored mobile 20/24 rhythm to
   20/25 and accumulated visible drift after every wrapped line. */
.mobile-subpage .article-body-copy .figma-rich-line{line-height:inherit!important}
/* TZ I3: table header cell — the paragraph gap between exported lines pushes "Range" out of the band (desktop fixed this inline). */
.mobile-subpage .m14_141917 .figma-rich-line{margin-bottom:0!important}}
