.ecs{--ecs-bg: #f3eee3;--ecs-bg-2: #ebe4d4;--ecs-ink: #231d16;--ecs-ink-2: #5a4f41;--ecs-ink-3: #8a7d6a;--ecs-rule: rgba(60, 45, 25, .16);--ecs-gold: #a8741f;--ecs-glow: rgba(255, 214, 140, .55);--ecs-frame-shadow: 0 30px 80px -30px rgba(40, 25, 5, .45);position:relative;height:calc(100svh - 4rem - 1px);min-height:520px;overflow:hidden;background:var(--ecs-bg);color:var(--ecs-ink);transition:background-color .2s}.dark .ecs{--ecs-bg: #0b0a10;--ecs-bg-2: #13111a;--ecs-ink: #efe7d6;--ecs-ink-2: #b9ae9a;--ecs-ink-3: #7d7465;--ecs-rule: rgba(239, 231, 214, .12);--ecs-gold: #e7b965;--ecs-glow: rgba(255, 196, 110, .22);--ecs-frame-shadow: 0 30px 90px -30px rgba(0, 0, 0, .9)}.ecs [hidden]{display:none!important}body:has(.ecs){overflow:hidden;overscroll-behavior-x:none}html:has(.ecs){overscroll-behavior-x:none}.ecs-stage{position:absolute;inset:0 0 3.5rem;touch-action:pan-y}.ecs-slide{position:absolute;inset:0;visibility:hidden;opacity:0;overflow:hidden}.ecs-slide.is-active{visibility:visible;opacity:1}.ecs-kicker{font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ecs-ink-3);margin:0 0 .9rem}.ecs-num{color:var(--ecs-gold)}.ecs-slide.is-entering .ecs-reveal>*{animation:ecs-rise .9s cubic-bezier(.2,.7,.2,1) both}.ecs-slide.is-entering .ecs-reveal>*:nth-child(2){animation-delay:.06s}.ecs-slide.is-entering .ecs-reveal>*:nth-child(3){animation-delay:.12s}.ecs-slide.is-entering .ecs-reveal>*:nth-child(4){animation-delay:.18s}.ecs-slide.is-entering .ecs-reveal>*:nth-child(5){animation-delay:.24s}.ecs-slide.is-entering .ecs-reveal>*:nth-child(n+6){animation-delay:.3s}@keyframes ecs-rise{0%{opacity:0;transform:translateY(14px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.ecs-intro{overflow-y:auto;overscroll-behavior:contain}.ecs-intro-glow{position:absolute;left:50%;top:38%;width:min(90vw,900px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--ecs-glow) 0%,transparent 62%);animation:ecs-breathe 7s ease-in-out infinite;pointer-events:none}@keyframes ecs-breathe{0%,to{opacity:.65;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}}.ecs-intro-inner{position:relative;max-width:40rem;margin:0 auto;padding:clamp(2.5rem,7vh,5rem) 1.25rem 0}.ecs-intro-inner>.ecs-title{text-align:center;margin-bottom:2.4rem}.ecs-intro-body ul{margin:0;padding-left:1.3rem;display:grid;gap:.35rem;list-style:none}.ecs-intro-body li{position:relative}.ecs-intro-body li:before{content:"";position:absolute;left:-1.1rem;top:.72em;width:.4rem;height:.4rem;border-radius:999px;background:var(--ecs-gold)}.ecs-intro-body cite{color:var(--ecs-ink)}.ecs-cta{position:sticky;bottom:0;z-index:2;isolation:isolate;display:flex;justify-content:center;margin-top:1.5rem;padding:4.5rem 0 1.75rem;pointer-events:none}.ecs-cta:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translate(-50%);background:linear-gradient(to top,var(--ecs-bg) 30%,transparent);backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(to top,#000 45%,transparent);mask-image:linear-gradient(to top,#000 45%,transparent)}.ecs-cta .ecs-begin{pointer-events:auto;background:var(--ecs-bg);box-shadow:0 10px 30px -12px #00000059}.ecs-title{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;font-weight:400;letter-spacing:-.01em;margin:0 0 1.4rem}.ecs-title-sm{font-size:clamp(1.9rem,4vw,2.8rem)}.ecs-intro-body{text-align:left;font-size:.98rem;line-height:1.85;color:var(--ecs-ink-2);display:grid;gap:.9rem}.ecs-intro-body strong{color:var(--ecs-ink);font-weight:700}.ecs-begin,.ecs-read{display:inline-flex;align-items:center;gap:.6rem;font-family:inherit;font-size:.95rem;padding:.8rem 1.5rem;border-radius:999px;border:1px solid var(--ecs-gold);color:var(--ecs-ink);background:transparent;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .3s}.ecs-begin:hover,.ecs-read:hover{background:var(--ecs-gold);color:var(--ecs-bg);box-shadow:0 0 40px var(--ecs-glow)}.ecs-begin span,.ecs-read span{transition:transform .2s}.ecs-begin:hover span,.ecs-read:hover span{transform:translate(3px)}.ecs-account{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:clamp(1.5rem,3vw,3.5rem);padding:clamp(1rem,2.5vw,2.5rem) clamp(1rem,3vw,3rem) .5rem}.ecs-scene-col{display:flex;flex-direction:column;justify-content:center;min-height:0;gap:.9rem}.ecs-scene{position:relative}.ecs-ambient{position:absolute;inset:-8%;width:116%;height:116%;filter:blur(48px) saturate(1.3);opacity:.55;pointer-events:none}.dark .ecs-ambient{opacity:.4}.ecs-frame{position:relative;aspect-ratio:16 / 9;max-height:calc(100svh - 11.5rem);margin:0 auto;width:100%;border-radius:4px;overflow:hidden;box-shadow:var(--ecs-frame-shadow)}.ecs-canvas{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ecs-text-col{position:relative;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem .5rem 2rem 0;scrollbar-width:thin;scrollbar-color:var(--ecs-rule) transparent;display:grid;align-items:center}.ecs-summary,.ecs-full{max-width:34rem}.ecs-name{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:400;line-height:1.1;margin:0 0 .4rem}.ecs-name-sm{font-size:1.6rem;margin-bottom:1rem}.ecs-tagline{font-style:italic;font-size:1.1rem;color:var(--ecs-gold);margin:0 0 1.3rem}.ecs-who{font-size:.82rem;line-height:1.7;color:var(--ecs-ink-2);margin:0 0 .7rem}.ecs-setting{font-family:JetBrains Mono,monospace;font-size:.66rem;line-height:1.6;letter-spacing:.04em;color:var(--ecs-ink-3);padding-bottom:1.2rem;margin:0 0 1.2rem;border-bottom:1px solid var(--ecs-rule)}.ecs-summary-body,.ecs-full-body{display:grid;gap:.9rem;font-size:.95rem;line-height:1.8}.ecs-summary-body{margin-bottom:1.6rem}.ecs-full-body p{white-space:pre-line}.ecs-full-body{font-size:.98rem;line-height:1.9;margin-bottom:2rem}.ecs-full-body p:first-child:first-letter{float:left;font-size:3.4rem;line-height:.9;padding:.3rem .5rem 0 0;color:var(--ecs-gold)}.ecs-full-note{font-size:.8rem;font-style:italic;line-height:1.7;color:var(--ecs-ink-3);margin:0 0 1.4rem}.ecs-back{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--ecs-ink-2);margin-bottom:1.4rem;cursor:pointer}.ecs-back:hover{color:var(--ecs-gold)}.ecs-source{margin:1.8rem 0 0;display:grid;gap:.55rem;font-size:.74rem;line-height:1.6;color:var(--ecs-ink-2)}.ecs-source>div{display:grid;grid-template-columns:6.5rem 1fr;gap:.75rem}.ecs-source dt{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ecs-ink-3);padding-top:.15rem}.ecs-source dd{margin:0}.ecs-source cite,.ecs-who cite{font-style:italic;color:var(--ecs-ink)}.ecs-summary,.ecs-full{transition:opacity .35s,transform .35s}.ecs-text-col.is-swapping .ecs-summary,.ecs-text-col.is-swapping .ecs-full{opacity:0;transform:translateY(8px)}@media(max-width:900px){.ecs-account{display:block;overflow-y:auto;padding:1rem 1rem 2rem}.ecs-scene-col{gap:.6rem;margin-bottom:1.5rem}.ecs-frame{max-height:none}.ecs-text-col{overflow:visible;padding:0;display:block}.ecs-summary,.ecs-full{max-width:none}}.ecs-contents{overflow-y:auto;overscroll-behavior:contain}.ecs-contents-inner{max-width:62rem;margin:0 auto;padding:3rem 1.25rem 0}.ecs-contents .ecs-title{margin-bottom:2.5rem}.ecs-contents-note{color:var(--ecs-ink-2);font-size:.9rem;margin:0 0 2.5rem;max-width:40rem}.ecs-toc{-moz-columns:2 22rem;columns:2 22rem;-moz-column-gap:3rem;column-gap:3rem}.ecs-toc section{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:2rem}.ecs-toc h3{font-size:.95rem;font-weight:400;font-style:italic;color:var(--ecs-ink);margin:0 0 .7rem;display:flex;gap:.7rem;align-items:baseline}.ecs-toc h3 span{font-family:JetBrains Mono,monospace;font-style:normal;font-size:.65rem;color:var(--ecs-gold);min-width:2rem}.ecs-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.ecs-toc li{display:flex;gap:.7rem;font-size:.8rem;line-height:1.5}.ecs-toc-num{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--ecs-ink-3);min-width:2rem;padding-top:.15rem}.ecs-toc strong{font-weight:700}.ecs-toc em{color:var(--ecs-ink-2)}.ecs-toc a{color:var(--ecs-ink);text-decoration:none}.ecs-toc a strong{color:var(--ecs-gold)}.ecs-toc a:hover em{text-decoration:underline;text-underline-offset:3px}.ecs-toc .is-pending{opacity:.5}.ecs-nav{position:absolute;left:0;right:0;bottom:0;height:3.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:0 clamp(.75rem,2vw,1.5rem);border-top:1px solid var(--ecs-rule);background:var(--ecs-bg);z-index:60}.ecs-nav-links{display:flex;gap:.25rem}.ecs-navlink{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .65rem;border-radius:999px;font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.04em;color:var(--ecs-ink-2);cursor:pointer;transition:color .2s,background-color .2s}.ecs-navlink svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.ecs-navlink:hover{color:var(--ecs-ink);background:var(--ecs-bg-2)}.ecs-navlink[aria-current=true]{color:var(--ecs-gold)}.ecs-nav-center{display:flex;align-items:center;gap:.75rem}.ecs-arrow{width:2.25rem;height:2.25rem;border-radius:999px;color:var(--ecs-ink-2);cursor:pointer;transition:color .2s,background-color .2s}.ecs-arrow:hover:not(:disabled){color:var(--ecs-ink);background:var(--ecs-bg-2)}.ecs-arrow:disabled{opacity:.25;cursor:default}.ecs-scrub{position:relative;width:min(18rem,34vw);padding:.8rem 0;cursor:pointer;touch-action:none;outline:none}.ecs-scrub-track{height:3px;border-radius:999px;background:var(--ecs-rule);overflow:hidden;transition:height .15s}.ecs-scrub:hover .ecs-scrub-track,.ecs-scrub.is-dragging .ecs-scrub-track,.ecs-scrub:focus-visible .ecs-scrub-track{height:5px}.ecs-scrub-fill{display:block;height:100%;width:0;background:var(--ecs-gold);transition:width .5s cubic-bezier(.2,.7,.2,1)}.ecs-scrub-marker{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:999px;background:var(--ecs-gold);box-shadow:0 0 0 3px var(--ecs-bg),0 0 14px var(--ecs-glow);pointer-events:none}.ecs-scrub-tip{position:absolute;bottom:calc(100% + .35rem);transform:translate(-50%);white-space:nowrap;padding:.35rem .6rem;border-radius:6px;background:var(--ecs-ink);color:var(--ecs-bg);font-size:.72rem;pointer-events:none;box-shadow:0 8px 24px -8px #00000080}.ecs-scrub-tip em{opacity:.7;font-style:italic;margin-left:.35rem}.ecs-nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ecs-nav-end{justify-self:end;display:flex;align-items:center}.ecs-ext{width:.7em;height:.7em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.ecs-share{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--ecs-gold) 55%,transparent);font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.03em;color:var(--ecs-gold);text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,box-shadow .3s}.ecs-share:hover{background:var(--ecs-gold);border-color:var(--ecs-gold);color:var(--ecs-bg);box-shadow:0 0 24px var(--ecs-glow)}.ecs-share-short{display:none}.ecs-invite-kicker{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ecs-gold);margin:0 0 .5rem}.ecs-invite-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--ecs-gold);color:var(--ecs-ink);text-decoration:none;transition:background-color .2s,color .2s,box-shadow .3s}.ecs-invite-btn:hover{background:var(--ecs-gold);color:var(--ecs-bg);box-shadow:0 0 30px var(--ecs-glow)}.ecs-prompt{position:absolute;right:clamp(.75rem,2vw,1.5rem);bottom:4.4rem;z-index:70;width:min(22rem,calc(100% - 1.5rem));padding:1.25rem 1.3rem 1.2rem;border-radius:16px;border:1px solid var(--ecs-rule);background:radial-gradient(120% 90% at 100% 0%,var(--ecs-glow),transparent 60%),var(--ecs-bg-2);box-shadow:0 24px 60px -24px #0009;animation:ecs-prompt-in .6s cubic-bezier(.2,.7,.2,1) both}.ecs-prompt.is-leaving{animation:ecs-prompt-out .3s ease-in both}@keyframes ecs-prompt-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes ecs-prompt-out{to{opacity:0;transform:translateY(10px)}}.ecs-prompt-title{font-size:1.05rem;line-height:1.35;margin:0 1.5rem .55rem 0;color:var(--ecs-ink)}.ecs-prompt-text{font-size:.82rem;line-height:1.65;color:var(--ecs-ink-2);margin:0 0 1rem}.ecs-prompt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.ecs-prompt-later{font-size:.78rem;color:var(--ecs-ink-3);cursor:pointer;text-decoration:underline;text-decoration-color:var(--ecs-rule);text-underline-offset:3px}.ecs-prompt-later:hover{color:var(--ecs-ink)}.ecs-prompt-close{position:absolute;top:.7rem;right:.7rem;width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:999px;color:var(--ecs-ink-3);cursor:pointer}.ecs-prompt-close:hover{color:var(--ecs-ink);background:var(--ecs-bg)}.ecs-prompt-close svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}@media(prefers-reduced-motion:reduce){.ecs-prompt,.ecs-prompt.is-leaving{animation:none}}.ecs-cta{flex-direction:column;align-items:center;gap:.7rem}.ecs-cta-alt{pointer-events:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-style:italic;color:var(--ecs-ink-2);text-decoration:underline;text-decoration-color:var(--ecs-rule);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}.ecs-cta-alt:hover{color:var(--ecs-gold);text-decoration-color:currentColor}@media(max-width:760px){.ecs-nav{grid-template-columns:auto 1fr auto;gap:.5rem}.ecs-navlink span,.ecs-share-long{display:none}.ecs-share-short{display:inline}.ecs-share{padding:.45rem .7rem}.ecs-nav-center{justify-self:stretch;justify-content:center;gap:.1rem;min-width:0}.ecs-scrub{width:auto;flex:1 1 5rem;min-width:3rem;max-width:12rem}}@media(max-width:420px){.ecs-nav{padding:0 .6rem;gap:.35rem}.ecs-navlink{padding:.4rem .45rem}.ecs-arrow{width:1.75rem}.ecs-share{padding:.45rem .65rem;letter-spacing:0}.ecs-share .ecs-ext{display:none}}
