.landing{--accent:#3ddc97;--accent-soft:#3ddc971f;--accent-line:#3ddc9759;--accent-glow:#3ddc9729;--accent-ink:#06120c;--bg:#0a0e14;--bg-alt:#0c1119;--surface:#0f151f;--header-bg:#0a0e14db;--line:#1b2230;--line-card:#1e2837;--line-chip:#263041;--line-panel:#243044;--line-input:#5b6880;--line-button:#2c3647;--line-dashed:#334055;--text:#e8ecf2;--text-strong:#fff;--text-soft:#d5dce6;--text-link:#c9d2de;--text-chip:#b7c1cf;--text-muted:#a9b4c4;--text-subtle:#8d99ab;--warn:#f2b84b;--danger:#f28b82;--secondary-series:#7c9cff;--track:#212b3a;--risk-low:#1d3a30;--risk-mid:#5c4a18;--risk-high:#8a2f24;background:var(--bg);color:var(--text);font-family:var(--font-plex-sans), system-ui, sans-serif;font-size:17px;line-height:1.6}.landing .cv-auto{content-visibility:auto;contain-intrinsic-size:auto 1100px}html[data-anchor] .landing .cv-auto{content-visibility:visible}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.landing [id]{scroll-margin-top:80px}.landing .font-display{font-family:var(--font-sora), sans-serif}.landing .font-code{font-family:var(--font-plex-mono), monospace}.landing a{color:var(--text-link)}.landing a:hover{color:var(--text-strong)}.landing .dots{background-image:radial-gradient(#ffffff0f 1px,#0000 1px);background-size:22px 22px}.landing details summary{cursor:pointer;list-style:none}.landing details summary::-webkit-details-marker{display:none}.landing .faq-plus{transition:transform .2s}.landing details[open] .faq-plus{transform:rotate(45deg)}.landing input,.landing select,.landing textarea{font:inherit}.landing :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing .article-body{color:var(--text-soft);overflow-wrap:break-word;font-size:18px;line-height:1.7}.landing .article-body>*+*{margin-top:1.1em}.landing .article-body p,.landing .article-body ul,.landing .article-body ol{margin-bottom:0}.landing .article-body h2,.landing .article-body h3{color:var(--text);font-family:var(--font-sora), sans-serif;letter-spacing:-.01em;margin-bottom:0;font-weight:600;line-height:1.25}.landing .article-body h2{margin-top:2em;font-size:clamp(24px,2.6vw,30px)}.landing .article-body h3{margin-top:1.6em;font-size:21px}.landing .article-body ul,.landing .article-body ol{padding-left:1.4em}.landing .article-body ul{list-style:outside}.landing .article-body ol{list-style:decimal}.landing .article-body li+li{margin-top:.45em}.landing .article-body li::marker{color:var(--accent)}.landing .article-body strong{color:var(--text);font-weight:600}.landing .article-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.landing .article-body code{font-family:var(--font-plex-mono), monospace;font-size:.9em}.landing .article-body blockquote{border-left:3px solid var(--accent-line);color:var(--text-muted);margin-left:0;padding-left:1.2em}.landing .article-note{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:14px;padding:18px 22px;font-size:17px}.landing .article-note>*{margin:0}.landing .article-note>*+*{margin-top:.6em}.landing .article-note-title{color:var(--accent);font-weight:600}.landing h1,.landing h2,.landing h3{-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;overflow-wrap:break-word}.landing p{text-wrap:pretty}.landing label[data-required]:after,.landing [data-auto-error]{color:var(--danger)}.landing .hub-flow{animation:2.6s linear infinite hub-flow}.landing .hub-flow-reverse{animation-duration:3.2s}.landing .hub-pulse{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite hub-pulse}@keyframes hub-flow{to{stroke-dashoffset:-36.2px}}@keyframes hub-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.landing .hub-flow,.landing .hub-pulse{animation:none}}.landing .flow-dot{opacity:0}@media (prefers-reduced-motion:no-preference){.landing .flow-dot{transform-box:fill-box;animation:flow-dot-x 1.2s var(--motion-ease) .5s 1 both}}@keyframes flow-dot-x{0%{opacity:0;transform:translate(0)}15%,80%{opacity:1}to{opacity:0;transform:translate(64px)}}@supports selector(:has(*)){.landing .code-tabs-panels>*{visibility:hidden;grid-area:1/1}:is(.landing .code-tabs:has(input[value="0"]:checked) [data-panel="0"],.landing .code-tabs:has(input[value="1"]:checked) [data-panel="1"],.landing .code-tabs:has(input[value="2"]:checked) [data-panel="2"],.landing .code-tabs:has(input[value="3"]:checked) [data-panel="3"],.landing .code-tabs:has(input[value="4"]:checked) [data-panel="4"]){visibility:visible}}.landing .mega-panel{visibility:hidden;opacity:0;transition:opacity .15s ease-out,transform .15s ease-out,visibility 0s linear .15s;transform:translateY(4px)}.landing .mega-panel[data-open=true]{visibility:visible;opacity:1;transition:opacity .15s ease-out,transform .15s ease-out,visibility;transform:none}.landing .mobile-panel{visibility:hidden;opacity:0;transition:opacity .15s ease-out,visibility 0s linear .15s}.landing .mobile-panel[data-open=true]{visibility:visible;opacity:1;transition:opacity .15s ease-out,visibility}@media (prefers-reduced-motion:reduce){.landing .mega-panel,.landing .mega-panel[data-open=true],.landing .mobile-panel,.landing .mobile-panel[data-open=true]{transition:none;transform:none}}.landing{--motion-fast:.15s;--motion-base:.4s;--motion-ease:cubic-bezier(.2, .7, .2, 1);--motion-stagger:40ms}.landing [data-motion=fade-up],.landing [data-motion=stagger]>*{transition:opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease)}.landing [data-motion=fade-up][data-inview=false],.landing [data-motion=stagger][data-inview=false]>*{opacity:0;transform:translateY(12px)}.landing [data-motion=stagger]>*{transition-delay:calc(min(var(--i,0), 6) * var(--motion-stagger))}.landing .tabular{font-variant-numeric:tabular-nums}.landing .meter-fill{transform-origin:0;transition:transform .3s var(--motion-ease)}.js-motion .landing .hero-fill{animation:meter-grow .9s var(--motion-ease) both;animation-delay:calc(var(--i,0) * 60ms + .15s)}@keyframes meter-grow{0%{transform:scaleX(0)}}@property --count{syntax:"<integer>";inherits:false;initial-value:0}.landing .count-css{--count:var(--to,0);counter-reset:count var(--count)}.landing .count-css:after{content:counter(count)}.js-motion .landing .count-css[data-trigger=load]{animation:count-up 1.05s var(--motion-ease) both;animation-delay:.15s}.landing [data-play=idle] .count-css{--count:var(--from,0)}.landing [data-play=run] .count-css{animation:count-up .8s var(--motion-ease) both;animation-delay:var(--d,0s)}@keyframes count-up{0%{--count:var(--from,0)}to{--count:var(--to,0)}}.landing [data-play=idle] .m-in{opacity:0;transform:translateY(8px)}.landing [data-play=run] .m-in{animation:m-in .35s var(--motion-ease) both;animation-delay:calc(var(--i,0) * .12s + var(--d,0s))}@keyframes m-in{0%{opacity:0;transform:translateY(8px)}}.landing [data-play=idle] .m-pop{opacity:0;transform:scale(.9)}.landing [data-play=run] .m-pop{animation:m-pop .25s var(--motion-ease) both;animation-delay:calc(var(--i,0) * 90ms + var(--d,0s))}@keyframes m-pop{0%{opacity:0;transform:scale(.9)}}.landing [data-play=idle] .m-type{clip-path:inset(0 100% 0 0)}.landing [data-play=run] .m-type{animation:.77s steps(22,end) both m-type;animation-delay:var(--d,0s)}@keyframes m-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.landing [data-play=idle] .m-fill{transform:scaleX(0)}.landing [data-play=run] .m-fill{animation:meter-grow .8s var(--motion-ease) both;animation-delay:calc(var(--i,0) * 80ms + var(--d,0s))}.landing .ring-fill{transition:stroke-dashoffset .3s var(--motion-ease)}.landing [data-play=idle] .m-ring{stroke-dashoffset:var(--from)!important}.landing [data-play=run] .m-ring{animation:ring-draw 1.2s var(--motion-ease) both}@keyframes ring-draw{0%{stroke-dashoffset:var(--from)}}.landing [data-play=idle] .m-late{opacity:0;transform:translateY(6px)scale(.98)}.landing [data-play=run] .m-late{animation:m-late .25s var(--motion-ease) both;animation-delay:var(--d,1.2s)}@keyframes m-late{0%{opacity:0;transform:translateY(6px)scale(.98)}}.landing [data-play=run] .m-early{animation:1.6s linear both m-early}@keyframes m-early{0%,65%{opacity:1}to{opacity:0}}.landing [data-play=idle] .m-early{opacity:1}.landing .m-early,.landing .m-hl-1,.landing .m-hl-2{opacity:0}.landing [data-play=idle] .m-hl-1{opacity:1}.landing [data-play=idle] .m-hl-3{opacity:0}.landing [data-play=run] .m-hl-1{animation:1.4s linear both m-hl-1}.landing [data-play=run] .m-hl-2{animation:1.4s linear both m-hl-2}.landing [data-play=run] .m-hl-3{animation:1.4s linear both m-hl-3}@keyframes m-hl-1{0%,30%{opacity:1}38%,to{opacity:0}}@keyframes m-hl-2{0%,30%{opacity:0}38%,65%{opacity:1}73%,to{opacity:0}}@keyframes m-hl-3{0%,65%{opacity:0}73%,to{opacity:1}}.landing .story{grid-template-columns:minmax(0,1fr);gap:3rem;margin:0;padding:0;list-style:none;display:grid}.landing .story-item{flex-direction:column;gap:1.5rem;display:flex}.landing .story-text{flex-direction:column;gap:.6rem;display:flex}.landing .story-tab{display:none}@media (min-width:1024px){.landing .story{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 2.5rem}.landing .story-item{grid-row:span 2;grid-template-rows:subgrid;align-items:start;display:grid}}@media (prefers-reduced-motion:no-preference){.js-motion .landing .story-num{display:none}.js-motion .landing .story-tab{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-size:14px;display:inline-flex}.js-motion .landing .story-tab-label{color:var(--text-subtle)}.js-motion .landing .story-item[data-active=true] .story-tab-label{color:var(--text)}}@media (prefers-reduced-motion:no-preference) and (max-width:1023.98px){.js-motion .landing .story{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 .5rem}.js-motion .landing .story-item{display:contents}.js-motion .landing .story-tab{border-top:3px solid var(--line-card);flex-direction:column;grid-row:1;align-items:flex-start;gap:.15rem;min-height:44px;padding-top:.6rem;font-size:13px}.js-motion .landing .story-item[data-active=true] .story-tab{border-top-color:var(--accent)}.js-motion .landing .story-text,.js-motion .landing .story-mock{grid-column:1/-1}.js-motion .landing .story-text{grid-row:2;margin:1.5rem 0}.js-motion .landing .story-mock{grid-row:3}.js-motion .landing .story-item[data-active=false] .story-text,.js-motion .landing .story-item[data-active=false] .story-mock{display:none}}@media (prefers-reduced-motion:no-preference) and (min-width:1024px){.js-motion .landing .story{grid-template-rows:repeat(4,auto);grid-template-columns:minmax(0,11fr) minmax(0,13fr);gap:0 3.5rem}.js-motion .landing .story-item{display:contents}.js-motion .landing .story-tab{grid-column:1;grid-row:var(--row);z-index:1;place-self:start;margin:1.25rem 0 0 1.75rem;line-height:1.6;position:relative}.js-motion .landing .story-num{visibility:hidden;display:inline}.js-motion .landing .story-text{grid-column:1;grid-row:var(--row);border-left:3px solid var(--line-card);opacity:.8;cursor:default;min-height:150px;padding:1.25rem 0 1.25rem 1.75rem;transition:opacity .2s ease-out,border-color .2s ease-out}.js-motion .landing .story-item[data-active=true] .story-text{opacity:1;border-left-color:var(--accent)}.js-motion .landing .story-mock{transition:opacity .3s var(--motion-ease), transform .3s var(--motion-ease), visibility 0s linear .3s;grid-area:1/2/span 4;align-self:start;position:sticky;top:6rem}.js-motion .landing .story-item[data-active=false] .story-mock{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}.js-motion .landing .story-item[data-active=true] .story-mock{transition-delay:0s}}.landing .cv-module{contain-intrinsic-size:auto 900px}.landing .mc-visual{display:none}.landing .mc-footer{margin-top:1.5rem}.landing .mc-panels{flex-direction:column;gap:1rem;display:flex}.landing .mc-card{flex-direction:column;height:100%;display:flex}.landing .mc-row{isolation:isolate;border-top:1px solid var(--line-card);grid-template-columns:18px minmax(0,1fr) 18px;gap:.15rem .75rem;padding:.45rem 0;display:grid;position:relative}.landing .mc-row-text{grid-column:1/-1}.landing .mc-row:last-child{border-bottom:1px solid var(--line-card)}.landing .mc-row:before{content:"";z-index:-1;background:var(--accent-soft);opacity:0;pointer-events:none;transition:opacity var(--motion-fast) ease-out;border-radius:.75rem;position:absolute;inset:0 -.75rem}.landing .mc-row:hover:before,.landing .mc-row:focus-within:before{opacity:1}.landing .mc-row-arrow{transition:transform var(--motion-fast) ease-out}.landing .mc-row:hover .mc-row-arrow,.landing .mc-row:focus-within .mc-row-arrow{transform:translate(3px)}@media (min-width:640px){.landing .mc-card{border:1px solid var(--line-card);background:var(--surface);border-radius:1rem;padding:1.5rem 1.75rem}.landing .mc-row{gap:.2rem .75rem;padding:.55rem 0}.landing .mc-row-text{grid-column:2}}.landing .mc-tab{min-height:44px;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.1rem;margin:0;padding:.65rem 0 .3rem;font-size:14px;line-height:1.3;display:flex;position:relative}.landing .mc-tab[data-active=true]{color:var(--text-strong)}.landing .mc-tab:before,.landing .mc-tab:after{content:"";background:var(--line-card);border-radius:2px;height:3px;position:absolute;top:0;left:0;right:0}.landing .mc-tab:after{background:var(--accent);transform-origin:0;transition:transform .18s var(--motion-ease);transform:scaleX(0)}.landing .mc-tab[data-active=true]:after{transform:scaleX(1)}.landing .mc-tab-num{color:var(--accent);font-size:12px}.landing .mc-tab-full{display:none}.landing .mc-loop{color:var(--text-subtle);margin-top:.85rem}.landing .mc-svg{width:100%;height:100%;display:block;overflow:visible}.landing .mc-arc{cursor:pointer}.landing .mc-arc-base,.landing .mc-arc-accent{fill:none;stroke-width:26px}.landing .mc-arc-base{stroke:var(--line-chip)}.landing .mc-arrow-base{fill:var(--line-chip)}.landing .mc-arc-base,.landing .mc-arrow-base{opacity:.8;transition:opacity var(--motion-fast) ease-out}.landing .mc-arc:hover .mc-arc-base,.landing .mc-arc:hover .mc-arrow-base{opacity:1}.landing .mc-arc-accent{stroke:var(--accent)}.landing .mc-arrow-accent{fill:var(--accent)}.landing .mc-arc-accent,.landing .mc-arrow-accent{opacity:0;transition:opacity .18s ease-out}.landing .mc-arc-num{fill:var(--text-muted);pointer-events:none;font-size:13px}.landing .mc[data-phase="0"] .mc-arc[data-phase="0"] .mc-on,.landing .mc[data-phase="1"] .mc-arc[data-phase="1"] .mc-on,.landing .mc[data-phase="2"] .mc-arc[data-phase="2"] .mc-on,.landing .mc[data-phase="3"] .mc-arc[data-phase="3"] .mc-on{opacity:1}.landing .mc[data-phase="0"] .mc-arc[data-phase="0"] .mc-arc-num,.landing .mc[data-phase="1"] .mc-arc[data-phase="1"] .mc-arc-num,.landing .mc[data-phase="2"] .mc-arc[data-phase="2"] .mc-arc-num,.landing .mc[data-phase="3"] .mc-arc[data-phase="3"] .mc-arc-num{fill:var(--accent-ink);font-weight:600}.landing .mc-marker{fill:var(--accent);transform-origin:200px 200px;transform:rotate(calc(45deg + var(--phase,0) * 90deg));transition:transform .3s ease-out}.landing .mc-loop-label{fill:var(--text-subtle);font-size:12px}.landing .mc-center{fill:var(--text);font-size:20px;font-weight:600}.landing .mc-center-sub{fill:var(--text-subtle);letter-spacing:.08em;font-size:11px}.js-motion .landing .mc-panels{display:grid}.js-motion .landing .mc-panel{transition:opacity .18s var(--motion-ease), transform .18s var(--motion-ease);grid-area:1/1}.js-motion .landing .mc-panel[data-active=false]{opacity:0;visibility:hidden;pointer-events:none;transition:none;transform:translateY(6px)}@media (max-width:1023.98px){.js-motion .landing .mc-visual{display:block}.js-motion .landing .mc-ring,.js-motion .landing .mc-footer{display:none}.js-motion .landing .mc-tabs{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:start;gap:0 .5rem;margin-bottom:.75rem;display:grid}}@media (min-width:1024px){.js-motion .landing .mc{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:440px minmax(0,1fr);gap:0 3rem;display:grid}.js-motion .landing .mc-panels{grid-area:1/2/span 2}.js-motion .landing .mc-footer{grid-area:2/1;margin-top:0}.js-motion .landing .mc-visual{grid-area:1/1;align-self:center;width:440px;height:420px;display:block;position:relative}.js-motion .landing .mc-ring{width:400px;height:400px;position:absolute;top:10px;left:20px}.js-motion .landing .mc-tabs{pointer-events:none;position:absolute;inset:0}.landing .mc-tab{pointer-events:auto;max-width:150px;padding:0 0 .45rem;font-size:16px;position:absolute}.landing .mc-tab:before{display:none}.landing .mc-tab:after{height:2px;top:auto;bottom:0}.landing .mc-tab-1,.landing .mc-tab-2{text-align:right;align-items:flex-end;right:0}.landing .mc-tab-1:after,.landing .mc-tab-2:after{transform-origin:100%}.landing .mc-tab-3,.landing .mc-tab-4{left:0}.landing .mc-tab-1,.landing .mc-tab-4{top:0}.landing .mc-tab-2,.landing .mc-tab-3{bottom:0}.landing .mc-tab-full{line-height:1.25;display:block}.landing .mc-tab-short,.landing .mc-loop{display:none}}.landing .check-draw path{stroke-dasharray:24}.landing [data-motion=stagger][data-inview=false] .check-draw path{stroke-dashoffset:24px}.landing [data-motion=stagger] .check-draw path{transition:stroke-dashoffset .3s var(--motion-ease);transition-delay:calc(min(var(--i,0), 9) * var(--motion-stagger) + .15s)}.landing .matrix-arrow{stroke-dasharray:120;transition:stroke-dashoffset .6s var(--motion-ease) .2s}.landing [data-inview=false] .matrix-arrow{stroke-dashoffset:120px}.landing .radar-area{transform-box:fill-box;transform-origin:50%;transition:transform .6s var(--motion-ease) .15s, opacity .6s var(--motion-ease) .15s}.landing [data-inview=false] .radar-area{opacity:0;transform:scale(.6)}@media (prefers-reduced-motion:reduce){.landing [data-motion],.landing [data-motion] *,.landing [data-play],.landing [data-play] *,.landing .hero-fill,.landing .count-css,.landing .meter-fill{transition:none!important;animation:none!important}.landing [data-motion][data-inview=false],.landing [data-motion][data-inview=false]>*,.landing [data-play] .m-in,.landing [data-play] .m-pop,.landing [data-play] .m-late{opacity:1!important;transform:none!important}.landing [data-play] .m-type{clip-path:none!important}.landing [data-play] .m-fill,.landing [data-inview=false] .radar-area{opacity:1!important;transform:none!important}.landing [data-play] .m-early,.landing [data-play] .m-hl-1,.landing [data-play] .m-hl-2{opacity:0!important}.landing [data-play] .m-hl-3{opacity:1!important}.landing .check-draw path,.landing .matrix-arrow{stroke-dashoffset:0!important}.landing .mc *,.landing .mc :before,.landing .mc :after,.landing [data-play] .m-ring,.landing .ring-fill{transition:none!important;animation:none!important}}
