.reveal-on-scroll.is-ready{transition:opacity .4s,transform .4s}.reveal-on-scroll.is-ready:not(.is-visible){opacity:0;transform:translateY(24px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-on-scroll.is-ready{transition:none}.reveal-on-scroll.is-ready:not(.is-visible){opacity:1;transform:none}}
.infinite-loop-copy{display:flow-root}body.is-looping .site-content>.site-footer{display:none}html:has(body.is-looping){scrollbar-width:none}html:has(body.is-looping)::-webkit-scrollbar{display:none}
.loop-glass{z-index:150;pointer-events:none;position:fixed;inset:0}.loop-cracks{width:100%;height:100%;display:block}@media (min-width:701px) and (pointer:fine){.loop-cracks{filter:drop-shadow(0 0 2px #ffffff59)}}.glass-crack{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px}.glass-crack.is-drawn{stroke-dashoffset:0}.glass-crack.is-new{animation:glass-draw var(--dur) cubic-bezier(.22, .7, .3, 1) var(--delay) both}@keyframes glass-draw{0%{opacity:0;stroke-dashoffset:1px}1%{opacity:1;stroke-dashoffset:1px}to{opacity:1;stroke-dashoffset:0}}.loop-glass.shake-a{animation:.45s ease-out loop-shake-a}.loop-glass.shake-b{animation:.45s ease-out loop-shake-b}@keyframes loop-shake-a{0%{transform:translate(0)}18%{transform:translate(calc(var(--amp) * -1), calc(var(--amp) * .6))}36%{transform:translate(calc(var(--amp) * .9), calc(var(--amp) * -.7))}54%{transform:translate(calc(var(--amp) * -.6), calc(var(--amp) * -.4))}75%{transform:translate(calc(var(--amp) * .3), calc(var(--amp) * .3))}to{transform:translate(0)}}@keyframes loop-shake-b{0%{transform:translate(0)}18%{transform:translate(calc(var(--amp) * -1), calc(var(--amp) * .6))}36%{transform:translate(calc(var(--amp) * .9), calc(var(--amp) * -.7))}54%{transform:translate(calc(var(--amp) * -.6), calc(var(--amp) * -.4))}75%{transform:translate(calc(var(--amp) * .3), calc(var(--amp) * .3))}to{transform:translate(0)}}.loop-flash{z-index:151;opacity:0;pointer-events:none;background:#fff;animation:.4s ease-out loop-flash;position:fixed;inset:0}@keyframes loop-flash{0%{opacity:0}15%{opacity:var(--peak)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.glass-crack,.glass-crack.is-new{stroke-dashoffset:0;animation:none}.loop-glass.shake-a,.loop-glass.shake-b{animation:none}.loop-flash,.fin-flash{display:none}}.fin-root{z-index:300;color:#c9d1d9;font-family:var(--font-mono), monospace;overscroll-behavior:contain;touch-action:none;position:fixed;inset:0;overflow:hidden}.fin-root:focus{outline:none}.fin-root.is-out{pointer-events:none;animation:.9s .1s forwards fin-out}@keyframes fin-out{to{opacity:0}}@keyframes fin-blink{50%{opacity:0}}.fin-glass{animation:.55s ease-out .7s fin-shake;position:absolute;inset:0}@keyframes fin-shake{0%{transform:translate(0)}15%{transform:translate(-14px,8px)}30%{transform:translate(12px,-10px)}45%{transform:translate(-9px,-6px)}60%{transform:translate(7px,7px)}80%{transform:translate(-3px,2px)}to{transform:translate(0)}}.fin-shards{opacity:0;animation:.45s .3s forwards fin-fade-in;position:absolute;inset:0}@keyframes fin-fade-in{to{opacity:1}}.fin-shard{position:absolute}.fin-root.is-shatter .fin-shard,.fin-root.is-terminal .fin-shard,.fin-root.is-out .fin-shard{animation:fin-fall 1.1s cubic-bezier(.55, .05, .9, .6) var(--delay) forwards}.fin-root.is-shatter .fin-shard{will-change:transform, opacity}@keyframes fin-fall{to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot));opacity:0}}.fin-cracks{width:100%;height:100%;position:absolute;inset:0}.fin-root.is-shatter .fin-cracks,.fin-root.is-terminal .fin-cracks,.fin-root.is-out .fin-cracks{opacity:0;transition:opacity .45s}.fin-flash{opacity:0;background:#fff;animation:.7s ease-out .75s fin-flash;position:absolute;inset:0}@keyframes fin-flash{0%{opacity:0}8%{opacity:.85}to{opacity:0}}.fin-flash-2{background:#c9d1d9;animation:none}.fin-root.is-shatter .fin-flash-2{animation:.6s ease-out fin-flash2}@keyframes fin-flash2{0%{opacity:.25}to{opacity:0}}.fin-stage{opacity:0;background:radial-gradient(70% 50% at 50% 15%,#58a6ff1f,#0000 70%),#010409e0;flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:0;min-height:0;padding:1.5rem;transition:opacity .5s;display:flex;position:absolute;inset:0}.fin-root.is-shatter .fin-stage,.fin-root.is-terminal .fin-stage,.fin-root.is-out .fin-stage{opacity:1}.fin-root .fin-term{pointer-events:none;grid-template-rows:min-content minmax(0,1fr) min-content;width:min(1040px,100%);min-width:0;height:min(760px,100dvh - 3rem);min-height:0;max-height:100%;transition:opacity .5s,transform .5s,filter .5s;animation:none;display:grid}.fin-stage.is-opening .fin-term{opacity:.12;filter:blur(3px);transform:scale(.96)}.fin-term .terminal-titlebar,.fin-term .terminal-output,.fin-term .terminal-input-area{min-width:0}.fin-term .terminal-output{overscroll-behavior:contain;min-height:0;overflow:auto}.fin-term .terminal-send{place-items:center;padding:0;line-height:1;display:grid}.fin-term-body{color:#c9d1d9;min-height:0;font-family:var(--font-mono), monospace;padding:1.1rem 1.2rem;font-size:clamp(.7rem,1.7vw,.92rem);line-height:1.65;display:block}.fin-placeholder{color:#4a5362;white-space:nowrap;font-size:.92rem}.fin-line{overflow-wrap:anywhere}.fin-prompt{color:#3fb950;font-weight:700}.fin-out{color:#8b949e}.fin-ok{color:#7ee787}.fin-del{color:#ff7b72;background:#f8514926}.fin-add{color:#7ee787;background:#3fb9502e}.fin-type{color:#e6edf3;vertical-align:bottom;white-space:nowrap;max-width:100%;animation:fin-typing calc(var(--n) * 22ms) steps(var(--n)) both;display:inline-block;overflow:hidden}@keyframes fin-typing{0%{width:0}to{width:calc(var(--n) * 1ch)}}.fin-line.is-last:after{vertical-align:text-bottom;content:"";background:#3fb950;width:.6em;height:1.05em;margin-left:3px;animation:1s step-end infinite fin-blink;display:inline-block}.fin-bar{vertical-align:baseline;border:1px solid #3fb950;width:8ch;height:.7em;display:inline-block}.fin-bar b{background:#3fb950;width:0;height:100%;animation:.9s ease-out forwards fin-bar;display:block}@keyframes fin-bar{to{width:100%}}.fin-open{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;padding:1.5rem;transition:opacity .5s;display:flex;position:absolute;inset:0}.fin-stage.is-opening .fin-open{opacity:1}.fin-open p{color:#fff;overflow-wrap:anywhere;letter-spacing:-.02em;text-align:center;text-shadow:0 0 24px #3fb950bf;max-width:100%;margin:0;font-size:clamp(1.25rem,5.2vw,3.4rem);font-weight:800}.fin-dots:after{content:"";animation:1.2s step-end infinite fin-dots}@keyframes fin-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.fin-pr{background:#0d1117;border:1px solid #30363d;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem .9rem;padding:.7rem 1rem;font-size:clamp(.7rem,1.7vw,.9rem);display:flex}.fin-pr-badge{color:#fff;background:#8957e5;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .7rem;font-weight:700;display:inline-flex}.fin-pr-title{color:#e6edf3;font-weight:700}.fin-pr-title em{color:#8b949e;font-style:normal;font-weight:400}.fin-pr-branch{color:#58a6ff;background:#58a6ff26;border-radius:6px;align-items:center;gap:.35rem;padding:.15rem .55rem;display:inline-flex}.fin-skip{right:1rem;bottom:calc(.8rem + env(safe-area-inset-bottom,0px));color:#484f58;font-size:.7rem;position:absolute}@media (max-width:768px){.fin-root{inset:var(--fin-vvt,0px) 0 auto;height:var(--fin-vvh,100dvh)}.fin-stage{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.fin-root .fin-term{border-radius:0;width:100%;height:100%;max-height:100%}.fin-term .terminal-titlebar{min-height:calc(50px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.fin-term .terminal-input-area{padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}}@media (max-height:480px) and (min-width:769px){.fin-stage{padding-block:.5rem}.fin-root .fin-term{height:calc(100dvh - 1rem)}}
