#site-footer{position:relative;overflow:hidden;padding-bottom:0;margin-bottom:0}.ft-stage{position:relative;width:100%;aspect-ratio:1440/460;min-height:0;--sl:33%;--st:31%;--sw:40%;--sh:55%;--tt:13%;--ft-toast-pad-y:10px;--ft-toast-pad-x:14px;--ft-toast-msg:14px;--ft-toast-open:12px;--ft-handle:12px;--ft-wm-size:11px;--ft-size-font:11px}.ft-art{overflow:hidden}.ft-art,.ft-svg{position:absolute;inset:0;pointer-events:none}.ft-svg{width:100%;height:100%;display:block}.ft-clouds{animation:ftDrift 70s ease-in-out infinite alternate}.ft-clouds2{animation:ftDrift 95s ease-in-out infinite alternate-reverse}@keyframes ftDrift{0%{transform:translateX(-40px)}to{transform:translateX(60px)}}.ft-boat{animation:ftSail 46s ease-in-out infinite alternate}@keyframes ftSail{0%{transform:translateX(-70px)}to{transform:translateX(90px)}}.ft-birds{animation:ftFly 26s ease-in-out infinite alternate}@keyframes ftFly{0%{transform:translate(-30px,6px)}to{transform:translate(50px,-10px)}}.ft-glint{animation:ftGlint 3.6s ease-in-out infinite}@keyframes ftGlint{0%,to{transform:scaleX(1);transform-origin:760px 0}50%{transform:scaleX(.72);transform-origin:760px 0}}.ft-sel{left:var(--sl);top:var(--st);width:var(--sw);height:var(--sh);border:1.5px solid #3b82f6;pointer-events:none;animation:ftSel 12s linear infinite}.ft-sel,.ft-sel i{position:absolute;box-sizing:border-box}.ft-sel i{width:var(--ft-handle);height:var(--ft-handle);background:#3b82f6;border:2px solid #fff;border-radius:calc(var(--ft-handle) / 2);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--ft-hoff:calc(var(--ft-handle) / -2)}.ft-sel .ft-h-tl{left:var(--ft-hoff);top:var(--ft-hoff)}.ft-sel .ft-h-tr{right:var(--ft-hoff);top:var(--ft-hoff)}.ft-sel .ft-h-bl{left:var(--ft-hoff);bottom:var(--ft-hoff)}.ft-sel .ft-h-br{right:var(--ft-hoff);bottom:var(--ft-hoff)}.ft-sel .ft-h-tm{left:calc(50% + var(--ft-hoff));top:var(--ft-hoff)}.ft-sel .ft-h-bm{left:calc(50% + var(--ft-hoff));bottom:var(--ft-hoff)}.ft-sel .ft-h-ml{top:calc(50% + var(--ft-hoff));left:var(--ft-hoff)}.ft-sel .ft-h-mr{top:calc(50% + var(--ft-hoff));right:var(--ft-hoff)}.ft-flash{inset:0;background:#fff;animation:ftFlash 12s linear infinite}.ft-flash,.ft-wm{position:absolute;opacity:0}.ft-wm{left:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 4px;border-radius:9999px;background:rgba(17,17,19,.86);border:1px solid rgba(255,255,255,.14);color:#fff;font:600 var(--ft-wm-size) /1 var(--font-geist),ui-sans-serif,system-ui,sans-serif;white-space:nowrap;animation:ftAfter 12s linear infinite}.ft-wm img{width:14px;height:14px;border-radius:4px}.ft-size{position:absolute;left:calc(var(--sl) + var(--sw) + 12px);top:calc(var(--st) + var(--sh) + 12px);padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.9);border:1px solid #e5e7eb;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);font:500 var(--ft-size-font) /1.5 var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.025em;color:#2563eb;white-space:nowrap;pointer-events:none;animation:ftPtr 12s linear infinite;z-index:2}.ft-size b{font-weight:400;letter-spacing:0;color:#a1a1aa;margin:0 2px}.ft-size b+b,.ft-size b:last-child{font-size:.9em;margin:0 0 0 4px}.ft-toast{position:absolute;left:50%;top:var(--tt);width:min(380px,calc(100% - 32px));max-width:calc(100% - 24px);transform:translate(-50%,-8px);box-sizing:border-box;justify-content:space-between;padding:var(--ft-toast-pad-y) var(--ft-toast-pad-x);border-radius:10px;border:1px solid #e5e7eb;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);color:#18181b;overflow:hidden;opacity:0;pointer-events:none;animation:ftToast 12s linear infinite;z-index:3}.ft-toast,.ft-toast-row{display:flex;align-items:center}.ft-toast-row{flex:1 1 auto;gap:10px;width:100%;padding:2px}.ft-toast-icon{display:inline-flex;flex-shrink:0;font-size:20px;color:#10b981}.ft-toast-msg{flex:1 1 auto;min-width:0;padding-left:4px;font:500 var(--ft-toast-msg) /1.4 var(--font-geist),ui-sans-serif,system-ui,sans-serif;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.ft-toast-msg,.ft-toast-open{letter-spacing:.025em;color:#27272a}.ft-toast-open{flex-shrink:0;margin-left:8px;margin-right:2px;padding:6px 12px;border-radius:8px;border:1px solid #e4e4e7;background:#fff;font:600 var(--ft-toast-open) /1.3333 var(--font-geist),ui-sans-serif,system-ui,sans-serif;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.ft-toast-x{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;font-size:14px;color:#71717a}.ft-toast-track{position:absolute;left:0;right:0;bottom:0;height:4px;background:#f4f4f5}.ft-toast-track .bar{height:100%;background:#10b981;transform-origin:left;animation:ftBar 12s linear infinite}@keyframes ftSel{0%{width:0;height:0;opacity:0}5%{width:0;height:0;opacity:1}32%{width:var(--sw);height:var(--sh);opacity:1}84%{width:var(--sw);height:var(--sh);opacity:1}90%,to{width:var(--sw);height:var(--sh);opacity:0}}@keyframes ftPtr{0%{left:calc(var(--sl) + 12px);top:calc(var(--st) + 12px);opacity:0}5%{left:calc(var(--sl) + 12px);top:calc(var(--st) + 12px);opacity:1}32%,36%{left:calc(var(--sl) + var(--sw) + 8px);top:calc(var(--st) + var(--sh) + 8px);opacity:1}40%,to{left:calc(var(--sl) + var(--sw) + 8px);top:calc(var(--st) + var(--sh) + 8px);opacity:0}}@keyframes ftFlash{0%,35%{opacity:0}37.5%{opacity:.85}43%,to{opacity:0}}@keyframes ftAfter{0%,40%{opacity:0}44%,84%{opacity:1}90%,to{opacity:0}}@keyframes ftToast{0%,43%{opacity:0;transform:translate(-50%,-8px)}45.5%,78.8%{opacity:1;transform:translate(-50%)}80.5%,to{opacity:0;transform:translate(-50%,-8px)}}@keyframes ftBar{0%,45.5%{transform:scaleX(1)}78.8%,to{transform:scaleX(0)}}@media (max-width:639px){.ft-stage{aspect-ratio:1040/460;max-height:min(48vw,14rem);overflow:hidden;background:#fff;--sl:8%;--st:18%;--sw:78%;--sh:62%;--tt:6%;--ft-toast-pad-y:8px;--ft-toast-pad-x:10px;--ft-toast-msg:12px;--ft-toast-open:11px;--ft-handle:12px;--ft-wm-size:11px;--ft-size-font:11px}.ft-art{transform:none;background:transparent}.ft-svg{top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-width:100%;min-height:100%;max-width:none;max-height:none;transform:none}.ft-toast{width:min(268px,calc(100% - 40px));max-width:calc(100% - 40px);border-radius:10px;padding:var(--ft-toast-pad-y) var(--ft-toast-pad-x);padding-bottom:calc(var(--ft-toast-pad-y) + 2px);box-shadow:0 12px 28px -8px rgba(0,0,0,.22)}.ft-toast-row{gap:6px;padding:0}.ft-toast-icon{font-size:16px}.ft-toast-icon svg{width:1rem;height:1rem}.ft-toast-open{padding:4px 8px;border-radius:6px;margin-left:4px;font-size:var(--ft-toast-open)}.ft-toast-msg{white-space:nowrap;font-size:var(--ft-toast-msg);line-height:1.2;padding-left:2px}.ft-toast-x{width:22px;height:22px;border-radius:6px;font-size:12px}.ft-toast-track{height:3px}.ft-size{animation:ftPtrMobile 12s linear infinite;max-width:calc(100% - 16px);left:auto;right:8px;bottom:8px;top:auto;padding:3px 8px;border-radius:6px;font-size:var(--ft-size-font)}.ft-wm{left:6px;bottom:6px;padding:2px 7px 2px 3px}.ft-wm img{width:12px;height:12px}.ft-hand{display:none}}@keyframes ftPtrMobile{0%,5%{opacity:0}36%,8%{opacity:1}40%,to{opacity:0}}@media (min-width:640px) and (max-width:1023px){.ft-stage{aspect-ratio:16/9;overflow:hidden;--sl:22%;--st:28%;--sw:48%;--sh:48%;--tt:10%;--ft-toast-msg:15px;--ft-toast-open:13px;--ft-handle:13px;--ft-size-font:12px}.ft-art{transform-origin:50% 80%;transform:scale(1.4) translateY(8%)}.ft-svg{top:0;right:0;bottom:0;left:0;width:auto;height:auto;min-width:100%;min-height:100%;transform:none}.ft-toast{width:min(420px,calc(100% - 40px))}}@media (prefers-reduced-motion:reduce){.ft-birds,.ft-boat,.ft-clouds,.ft-clouds2,.ft-flash,.ft-glint,.ft-sel,.ft-size,.ft-toast,.ft-toast-track .bar,.ft-wm{animation:none}.ft-wm{opacity:1}.ft-toast{opacity:1;transform:translate(-50%)}.ft-size{opacity:0}}.warmframe{--wf-bg:#ffffff;--wf-surface:#f7f7f7;--wf-ink:#000000;--wf-muted:#5e5e5e;--wf-border:#d6d6d6;--wf-border-soft:#e5e5e5;--wf-amber:#e0a533;--wf-amber-logo:#f4b941;--wf-chip:#ccdae3;--wf-success:oklch(0.72 0.16 150);--wf-success-fg:oklch(0.145 0 0);--wf-discord:#5865f2;--wf-gutter:clamp(1rem,0.75rem + 1.2vw,1.5rem);--wf-section-gap:clamp(3rem,1.75rem + 6vw,11.25rem);--wf-block-gap:clamp(1rem,0.6rem + 1.5vw,1.5rem);--wf-column:64rem;--wf-frame-radius:clamp(1rem,0.7rem + 1.2vw,2rem);--wf-frame-inner-radius:clamp(0.625rem,0.35rem + 1vw,1.375rem);--wf-frame-border:clamp(5px,0.25rem + 0.5vw,10px);--wf-card-radius:clamp(1.125rem,0.85rem + 0.9vw,1.6875rem);--wf-control-radius:4px;--wf-mockup-shadow:rgba(0,0,0,0.18) clamp(-8px,-1.2vw,-24px) clamp(12px,1.5vw,24px) clamp(16px,1.5vw,24px) 0px;--wf-display-size:clamp(1.75rem,1.2rem + 2.6vw,3.5rem);--wf-headline-size:clamp(1.25rem,1rem + 1.2vw,2rem);--wf-label-size:clamp(1rem,0.92rem + 0.4vw,1.25rem);--wf-body-size:clamp(0.9375rem,0.9rem + 0.2vw,1rem);--wf-meta-size:clamp(0.75rem,0.7rem + 0.2vw,0.8125rem);--wf-hand-size:clamp(1.25rem,1rem + 1.2vw,1.875rem);background-color:var(--wf-bg);color:var(--wf-ink);font-family:var(--font-geist),ui-sans-serif,system-ui,sans-serif;font-size:var(--wf-body-size);line-height:1.5;overflow-x:clip;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}.warmframe img,.warmframe svg,.warmframe video{max-width:100%;height:auto}.warmframe .font-geist-mono{font-family:var(--font-geist-mono),ui-monospace,monospace}.warmframe .font-meta{font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:var(--wf-meta-size);line-height:1.75}.warmframe .font-hand{font-family:var(--font-nanum),cursive;font-size:var(--wf-hand-size)}.warmframe .wf-display{font-size:var(--wf-display-size);font-weight:400;line-height:1.15;letter-spacing:-.06em;text-wrap:balance}.warmframe .wf-headline{font-size:var(--wf-headline-size);font-weight:400;line-height:1.35;letter-spacing:-.05em;text-wrap:balance}.warmframe .wf-t-track{transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}.warmframe .wf-t-card{transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .45s ease;will-change:transform;transform-origin:center center}.warmframe .wf-label{font-size:var(--wf-label-size);font-weight:400;line-height:1.8;letter-spacing:-.04em}.warmframe .wf-mockup-shadow{box-shadow:var(--wf-mockup-shadow)}.warmframe .wf-checker{background-image:repeating-conic-gradient(from 0deg at 50% 50%,rgba(0,0,0,.06) 0 25%,transparent 0 50%);background-size:20px 20px}.warmframe .wf-dotted{background-image:radial-gradient(#000 .6px,rgba(0,0,0,0) 1.4px);background-size:10px 10px}.warmframe details>summary{list-style:none}.warmframe details>summary::-webkit-details-marker{display:none}.warmframe .wf-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.warmframe .wf-reveal.in{opacity:1;transform:none}.warmframe .wf-shine{background-image:linear-gradient(90deg,#8e8e8e,#8e8e8e 35%,#000 50%,#8e8e8e 65%,#8e8e8e);background-size:200% 100%;background-repeat:repeat-x;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:wf-shine 4s linear infinite}@keyframes wf-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes wf-hg{0%,to{translate:0 0}50%{translate:24px 18px}}.warmframe .wf-hg{animation:wf-hg 16s ease-in-out infinite}.warmframe .wf-hg-2{animation-delay:-4s;animation-direction:reverse}.warmframe .wf-hg-3{animation-delay:-8s;animation-direction:reverse}.warmframe .wf-hg-4{animation-delay:-12s}.warmframe .wf-hm-tab{color:var(--wf-muted);transition:color .3s ease-out}.warmframe .wf-hm-tab:hover,.warmframe .wf-hm-tab[data-on=true]{color:#000}.warmframe .wf-hm-pill{position:absolute;top:0;left:0;height:100%;width:0;border-radius:9999px;background:var(--wf-surface);box-shadow:inset 0 0 0 1px var(--wf-border);transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1);will-change:transform,width;pointer-events:none}.warmframe .wf-hm-pill[data-snap=true]{transition:none}.warmframe .wf-hm-detail,.warmframe .wf-hm-icon{transition:opacity .2s ease-out,transform .2s ease-out}.warmframe .wf-hm-out .wf-hm-detail{opacity:0;transform:translateY(5px)}.warmframe .wf-hm-out .wf-hm-icon{opacity:0;transform:scale(.8)}@media (max-width:639px){.warmframe{--wf-mockup-shadow:rgba(0,0,0,0.14) 0 12px 28px 0;--wf-section-gap:clamp(2.75rem,2rem + 4vw,4.5rem)}.warmframe .wf-hg{max-width:70vw;max-height:70vw}.warmframe .wf-t-card{width:min(100%,20.5rem)}}@media (prefers-reduced-motion:reduce){.warmframe .wf-reveal{opacity:1;transform:none;transition:none}.warmframe .wf-shine{animation:none;background:none;color:var(--wf-muted);-webkit-text-fill-color:var(--wf-muted)}.warmframe .wf-hg{animation:none}.warmframe .wf-hm-detail,.warmframe .wf-hm-icon,.warmframe .wf-hm-pill,.warmframe .wf-t-card,.warmframe .wf-t-track{transition:none}}