.bg-graph-svg{-webkit-mask-image:linear-gradient(90deg,#0000 0% 38%,#000 74%);mask-image:linear-gradient(90deg,#0000 0% 38%,#000 74%)}@media (width<=1023px){.bg-graph-svg{opacity:.45;-webkit-mask-image:none;mask-image:none}}.bg-graph-edge{opacity:.6}.bg-graph-label{font-family:var(--font-mono);fill:var(--g-meta);font-size:11px}@media (prefers-reduced-motion:no-preference){.bg-graph-edge{stroke-dasharray:1;stroke-dashoffset:1px;animation:bg-graph-draw 1.6s cubic-bezier(.4, 0, .2, 1) var(--d) forwards}.bg-graph-node{opacity:0;animation:bg-graph-in .8s ease-out var(--d) forwards}}@keyframes bg-graph-draw{to{stroke-dashoffset:0}}@keyframes bg-graph-in{to{opacity:1}}lite-youtube{contain:content;cursor:pointer;background-color:#000;background-position:50%;background-size:cover;max-width:720px;display:block;position:relative}lite-youtube:before{content:attr(data-title);color:#eee;text-shadow:0 0 2px #00000080;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background-image:linear-gradient(#000000ab 0%,#0000008a 14%,#00000026 54%,#0000000d 72%,#0000 94%);width:100%;height:99px;padding:25px 20px;font-family:YouTube Noto,Roboto,Arial,Helvetica,sans-serif;font-size:18px;display:block;position:absolute;top:0;overflow:hidden}lite-youtube:hover:before{color:#fff}lite-youtube:after{content:"";padding-bottom:56.25%;display:block}lite-youtube>iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}lite-youtube>.lyt-playbtn{cursor:pointer;z-index:1;filter:grayscale();background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 68 48\"><path d=\"M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z\" fill=\"red\"/><path d=\"M45 24 27 14v20\" fill=\"white\"/></svg>") 50%/68px 48px no-repeat;border:0;width:100%;height:100%;transition:filter .1s cubic-bezier(0,0,.2,1);display:block;position:absolute}lite-youtube:hover>.lyt-playbtn,lite-youtube .lyt-playbtn:focus{filter:none}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated:before,lite-youtube.lyt-activated>.lyt-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.video-frame lite-youtube{background-color:#1d1d1f;width:100%;max-width:none}.video-frame lite-youtube:before{display:none}.video-frame lite-youtube>button.lyt-playbtn{filter:none;color:#fff;backdrop-filter:blur(20px)saturate(1.6);cursor:pointer;width:80px;height:80px;transition:transform .25s var(--ease-out-soft), background-color .25s var(--ease-out-soft);background-color:#ffffff38;background-image:none;border:0;border-radius:9999px;justify-content:center;align-items:center;margin:auto;padding:0;display:flex;position:absolute;inset:0;transform:none;box-shadow:0 8px 32px #0000004d}.video-frame lite-youtube>button.lyt-playbtn svg{width:28px;height:28px;margin-left:3px}.video-frame lite-youtube:hover>button.lyt-playbtn,.video-frame lite-youtube>button.lyt-playbtn:hover{background-color:#ffffff52;transform:scale(1.04)}.video-frame lite-youtube>button.lyt-playbtn:active{transform:scale(.96)}.video-frame lite-youtube>button.lyt-playbtn:focus-visible{outline-offset:4px;outline:2px solid #fff}.hero-g{--g-canvas:#fafafa;--g-surface:#fff;--g-inset:#f5f5f5;--g-ink:#171717;--g-body:#4d4d4d;--g-secondary:#666;--g-meta:#8f8f8f;--g-line:#ebebeb;--g-line-strong:#a1a1a1;--g-grid:#ebebeb;--g-accent:#0070f3;--g-glow:#007cf00f;--g-focus:#0072f5;--g-shadow:0 0 0 1px #00000014, 0 8px 24px #0000000a;background:var(--g-canvas);color:var(--g-ink)}.dark .hero-g{--g-canvas:#0a0a0a;--g-surface:#111;--g-inset:#161616;--g-ink:#ededed;--g-body:#a1a1a1;--g-secondary:#a1a1a1;--g-meta:#8f8f8f;--g-line:#333;--g-line-strong:#555;--g-grid:#1a1a1a;--g-glow:#007cf01a;--g-shadow:0 0 0 1px #ffffff14, 0 8px 24px #0006}.hero-g :focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.hg-h1{letter-spacing:-.055em;font-size:clamp(40px,6.4vw,72px);font-weight:450;line-height:1.05}.hg-mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:13px;line-height:18px}.hg-btn{white-space:nowrap;border-radius:100px;justify-content:center;align-items:center;gap:8px;height:44px;padding-inline:20px;font-size:15px;font-weight:500;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.hg-primary{background:var(--g-ink);color:var(--g-canvas)}.hg-primary:hover{background:color-mix(in srgb, var(--g-ink) 86%, var(--g-canvas))}.hg-primary svg{transition:transform .15s ease-out}.hg-primary:hover svg{transform:translate(2px)}.hg-secondary{border:1px solid var(--g-line);color:var(--g-ink)}.hg-secondary:hover{border-color:var(--g-line-strong)}@keyframes hg-in{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:none;transform:none}}.hg-in{animation:.45s cubic-bezier(.33,1,.68,1) both hg-in;animation-delay:calc(var(--i,0) * 80ms)}.hg-word{display:inline-block}.hg-slot{white-space:nowrap;vertical-align:top;display:inline-block}.hg-from{color:var(--g-secondary)}@media (prefers-reduced-motion:no-preference){.hg-word{animation:.7s cubic-bezier(.22,1,.36,1) both hg-word;animation-delay:calc(80ms + var(--w) * 90ms)}}@keyframes hg-word{0%{opacity:0;filter:blur(10px);transform:translateY(.28em)}to{opacity:1;filter:none;transform:none}}.hg-card{background:var(--g-surface);box-shadow:var(--g-shadow);border-radius:16px}.hg-beam{border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.hg-beam:after{content:"";aspect-ratio:1;opacity:.55;background:linear-gradient(to left, var(--g-accent), transparent);offset-path:rect(0 auto auto 0 round 16px);offset-anchor:90% 50%;width:120px;animation:8s linear infinite hg-beam;position:absolute}@keyframes hg-beam{to{offset-distance:100%}}.hero-g .video-frame lite-youtube>button.lyt-playbtn{color:#fff;backdrop-filter:none;background-color:#171717;width:56px;height:56px;transition:transform .2s ease-out;box-shadow:0 0 0 1px #ffffff1f}.hero-g .video-frame lite-youtube>button.lyt-playbtn svg{width:20px;height:20px;margin-left:2px}.hero-g .video-frame lite-youtube:hover>button.lyt-playbtn,.hero-g .video-frame lite-youtube>button.lyt-playbtn:hover{background-color:#171717;transform:scale(1.04)}.hero-g .video-frame lite-youtube>button.lyt-playbtn:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.hg-fade-x{-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}@media (prefers-reduced-motion:reduce){.hg-beam{display:none}}.stack{view-timeline:--lanes block;gap:28px;display:grid}@media (width>=768px){.stack{gap:14vh;padding-bottom:4vh}.stack-item{top:calc(84px + (var(--i) - 1) * 22px);position:sticky}}.stack-card{transform-origin:50% 0;will-change:transform}@supports (animation-timeline:view()){@media (width>=768px) and (prefers-reduced-motion:no-preference){.stack-card{animation:linear both stack-back --lanes;animation-range:exit-crossing calc((var(--i) - 1) / var(--n) * 100%) exit-crossing calc(var(--i) / var(--n) * 100%)}.stack-card:after{content:"";border-radius:inherit;background:var(--page);pointer-events:none;animation:linear both stack-dim --lanes;animation-range:inherit;position:absolute;inset:0}}}@keyframes stack-back{to{transform:scale(calc(1 - (var(--n) - var(--i)) * .035))}}@keyframes stack-dim{0%{opacity:0}to{opacity:calc((var(--n) - var(--i)) * .12)}}.rc-pulse{transform-box:fill-box;transform-origin:50%;animation:rc-pulse 2s var(--ease-out-soft) infinite}@keyframes rc-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.rc-seq{opacity:0;animation:linear both rc-in view()}.rc-area{animation-range:entry 55% cover 50%}.rc-end{animation-range:entry 70% cover 55%}.rc-note1{animation-range:entry 40% cover 40%}.rc-note2{animation-range:entry 60% cover 52%}@keyframes rc-in{to{opacity:1}}}}
