.hdr-shell{transition:box-shadow .3s,border-color .3s}.hdr-shell.is-scrolled{border-color:var(--color-line);box-shadow:0 8px 24px -16px #05050f59}.hdr-bar{transform-origin:50%;transform-box:fill-box;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s}.hdr-bar-top.is-open{transform:translateY(5px)rotate(45deg)}.hdr-bar-mid.is-open{opacity:0}.hdr-bar-bottom.is-open{transform:translateY(-5px)rotate(-45deg)}.hdr-menu-btn{transition:background-color .2s}.hdr-menu-btn:hover{background:var(--color-panel2)}.hdr-panel-enter{animation:.28s cubic-bezier(.2,.8,.2,1) hdrPanelIn}.hdr-backdrop-enter{animation:.28s hdrBackdropIn}@keyframes hdrPanelIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes hdrBackdropIn{0%{opacity:0}to{opacity:1}}.logo-shape-gear{transform-box:fill-box;transform-origin:50%;animation:3s linear infinite logoGearSpin}@keyframes logoGearSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo-shape-cursor{animation:1s step-end infinite logoCursorBlink}@keyframes logoCursorBlink{50%{opacity:0}}.logo-shape-git{stroke-dasharray:1;animation:3.1s cubic-bezier(.65,0,.35,1) infinite logoGitDraw}@keyframes logoGitDraw{0%{stroke-dashoffset:1px}32%{stroke-dashoffset:0}48%{stroke-dashoffset:0}80%{stroke-dashoffset:-1px}to{stroke-dashoffset:-1px}}.logo-shape-brace{transform-box:fill-box;transform-origin:50%;animation:.8s ease-in-out infinite alternate logoBraceBreathe;display:inline-block}@keyframes logoBraceBreathe{0%{transform:scale(1)}to{transform:scale(1.3)}}.logo-shape-cloud{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite alternate logoCloudFloat}@keyframes logoCloudFloat{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.hdr-shell,.hdr-bar,.hdr-menu-btn{transition:none}.hdr-panel-enter,.hdr-backdrop-enter,.logo-shape-gear,.logo-shape-cursor,.logo-shape-git,.logo-shape-brace,.logo-shape-cloud{animation:none}}
@keyframes twinkle{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.meteor-track{transform-origin:0%;position:absolute}.meteor{opacity:0;will-change:transform, opacity;background-image:linear-gradient(90deg,#0000,#ffffffd9 70%,#fff);border-radius:999px;height:2px;animation-name:meteorMove;animation-timing-function:cubic-bezier(.15,.6,.3,1);animation-iteration-count:infinite;position:absolute;top:0;left:0}.meteor-head{background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 0 6px 2px #ffffffe6,0 0 20px 6px #aac3ff8c}@keyframes meteorMove{0%{opacity:0;transform:translate(0)}4%{opacity:1}20%{opacity:.9}32%{opacity:0}to{transform:translateX(var(--dist,260px));opacity:0}}@keyframes auroraDrift{0%,to{opacity:.22;transform:translate(-4%)scaleY(1)skew(0)}50%{opacity:.4;transform:translate(4%)scaleY(1.18)skew(-4deg)}}.aurora-band{filter:blur(30px);mix-blend-mode:screen;will-change:transform, opacity;animation-name:auroraDrift;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}@keyframes cloudDriftLeft{0%{left:-25%}to{left:125%}}.cloud-drift{will-change:left;animation-name:cloudDriftLeft;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.25)}}@keyframes sunRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes birdFlyLeft{0%{left:-8%}to{left:100%}}@keyframes birdBob{0%{transform:translateY(0) rotate(0deg) scale(var(--bs,1))}20%{transform:translateY(-8px) rotate(-5deg) scale(var(--bs,1))}50%{transform:translateY(3px) rotate(4deg) scale(var(--bs,1))}80%{transform:translateY(-5px) rotate(-3deg) scale(var(--bs,1))}to{transform:translateY(0) rotate(0deg) scale(var(--bs,1))}}.bird-fly{will-change:left, transform;animation-name:birdFlyLeft,birdBob;animation-timing-function:linear,cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite,infinite;position:absolute}@keyframes wingFlapAnim{0%,to{transform:rotate(6deg)}50%{transform:rotate(-42deg)}}.wing-flap{animation:.28s ease-in-out infinite wingFlapAnim}@keyframes wingIdleAnim{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}.wing-idle{animation:2.4s ease-in-out infinite wingIdleAnim}@keyframes treeSway{0%,to{transform:rotate(0)}50%{transform:rotate(var(--sway,1deg))}}.tree-sway{transform-origin:50% 100%;animation:3.4s ease-in-out infinite treeSway}.bunny-wrap{will-change:left, bottom, transform;animation:22s linear infinite bunnyHop;position:absolute}@keyframes bunnyHopBounce{0%{transform:translateY(0)}15%{transform:translateY(-4px)}35%{transform:translateY(-15px)}50%{transform:translateY(-17px)}70%{transform:translateY(-5px)}88%{transform:translateY(1px)}to{transform:translateY(0)}}.bunny-hop-bounce{will-change:transform;animation:.45s cubic-bezier(.33,0,.2,1) infinite bunnyHopBounce}@keyframes bunnyShadowPulse{0%{opacity:.35;transform:translate(-50%)scale(1)}15%{opacity:.25;transform:translate(-50%)scale(.8)}35%{opacity:.12;transform:translate(-50%)scale(.45)}50%{opacity:.1;transform:translate(-50%)scale(.4)}70%{opacity:.2;transform:translate(-50%)scale(.7)}88%{opacity:.32;transform:translate(-50%)scale(.95)}to{opacity:.35;transform:translate(-50%)scale(1)}}.bunny-shadow{filter:blur(1px);background:#14280a66;border-radius:50%;width:26px;height:6px;animation:.45s cubic-bezier(.33,0,.2,1) infinite bunnyShadowPulse;position:absolute;bottom:-2px;left:50%}@keyframes bunnyLegBack{0%{transform:rotate(38deg)}15%{transform:rotate(-35deg)}35%{transform:rotate(-15deg)}50%{transform:rotate(5deg)}70%{transform:rotate(30deg)}88%{transform:rotate(45deg)}to{transform:rotate(38deg)}}.bunny-leg-back{animation:.45s cubic-bezier(.33,0,.2,1) infinite bunnyLegBack}@keyframes bunnyLegFront{0%{transform:rotate(4deg)}15%{transform:rotate(-10deg)}35%{transform:rotate(-20deg)}50%{transform:rotate(-18deg)}70%{transform:rotate(4deg)}88%{transform:rotate(14deg)}to{transform:rotate(4deg)}}.bunny-leg-front{animation:.45s cubic-bezier(.33,0,.2,1) infinite bunnyLegFront}@keyframes bunnyEarL{0%{transform:rotate(0)}15%{transform:rotate(-4deg)}35%{transform:rotate(-14deg)}50%{transform:rotate(-16deg)}70%{transform:rotate(-6deg)}88%{transform:rotate(4deg)}to{transform:rotate(0)}}.bunny-ear-l{animation:.45s ease-in-out infinite bunnyEarL}@keyframes bunnyEarR{0%{transform:rotate(0)}15%{transform:rotate(-2deg)}35%{transform:rotate(-11deg)}50%{transform:rotate(-14deg)}70%{transform:rotate(-4deg)}88%{transform:rotate(6deg)}to{transform:rotate(0)}}.bunny-ear-r{animation:.45s ease-in-out 30ms infinite bunnyEarR}@keyframes bunnyBodySquash{0%{transform:scale(1)}15%{transform:scale(1.1,.82)}35%{transform:scale(.92,1.1)}50%{transform:scale(.9,1.14)}70%{transform:scale(.96,1.05)}88%{transform:scale(1.08,.88)}to{transform:scale(1)}}.bunny-body{animation:.45s cubic-bezier(.33,0,.2,1) infinite bunnyBodySquash}@keyframes peck{0%,65%,to{transform:translateY(0)rotate(0)}75%{transform:translateY(3px)rotate(-6deg)}85%{transform:translateY(0)rotate(0)}}.peck{animation:2.6s ease-in-out infinite peck}@keyframes wingFlutter{0%,to{transform:scaleX(1)rotate(0)}50%{transform:scaleX(.55)rotate(-6deg)}}.wing-flutter{transform-origin:50%;animation:.28s ease-in-out infinite wingFlutter}@keyframes butterflyPath{0%{transform:translate(0)}25%{transform:translate(28px,-16px)}50%{transform:translate(52px,6px)}75%{transform:translate(24px,18px)}to{transform:translate(0)}}.butterfly-path{will-change:transform;animation:6s ease-in-out infinite butterflyPath;position:absolute}@keyframes caretBlink{0%,45%{opacity:1}46%,to{opacity:0}}.term-caret{background:#f1fa8c;width:7px;height:15px;margin-left:1px;animation:.9s step-end infinite caretBlink;display:inline-block;transform:translateY(2px);box-shadow:0 0 6px #f1fa8ccc}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.term-live-dot{animation:1s ease-in-out infinite dotPulse}@keyframes runPulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, var(--color-accent) 55%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklch, var(--color-accent) 0%, transparent)}}.run-btn-pulse{animation:1.6s ease-out infinite runPulse}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}.term-sheen{border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), #ffffff24, transparent 60%);mix-blend-mode:overlay;transition:opacity .35s;position:absolute;inset:0}@keyframes runModalBackdropIn{0%{opacity:0}to{opacity:1}}.run-modal-backdrop{-webkit-backdrop-filter:blur(6px);background:#08080eb8;animation:.25s ease-out runModalBackdropIn;position:absolute;inset:0}@keyframes runModalCardIn{0%{opacity:0;transform:scale(.85)translateY(18px)}60%{opacity:1;transform:scale(1.02)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.run-modal-card{animation:.4s cubic-bezier(.16,1,.3,1) runModalCardIn}@keyframes runModalSpin{to{transform:rotate(360deg)}}.run-modal-spinner-ring{animation:.85s linear infinite runModalSpin}@keyframes runModalIconPop{0%{opacity:0;transform:scale(.5)rotate(-8deg)}55%{opacity:1;transform:scale(1.12)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.run-modal-icon{animation:.45s cubic-bezier(.16,1,.3,1) 50ms both runModalIconPop}.run-modal-close:hover{color:#fffffff2;background:#ffffff1f}@media (prefers-reduced-motion:reduce){.meteor,.bird-fly,.wing-flap,.wing-idle,.cloud-drift,.tree-sway,.bunny-wrap,.bunny-hop-bounce,.bunny-shadow,.bunny-leg-back,.bunny-leg-front,.bunny-ear-l,.bunny-ear-r,.bunny-body,.peck,.wing-flutter,.butterfly-path,.aurora-band,.term-caret,.term-live-dot,.run-btn-pulse,.spinner,.run-modal-backdrop,.run-modal-card,.run-modal-spinner-ring,.run-modal-icon{animation:none!important}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.hero-in{opacity:0;animation:.85s cubic-bezier(.16,1,.3,1) forwards heroFadeUp}.hero-in-1{animation-delay:50ms}.hero-in-2{animation-delay:.2s}.hero-in-3{animation-delay:.38s}.hero-in-4{animation-delay:.56s}@keyframes heroCardSlideIn{0%{opacity:0;transform:translate(120px)translateY(20px)rotate(10deg)scale(.88)}60%{opacity:1;transform:translate(-10px)translateY(-4px)rotate(-2deg)scale(1.02)}to{opacity:1;transform:translate(0)translateY(0)rotate(0)scale(1)}}[dir=rtl] .hero-card-in{animation-name:heroCardSlideInRtl}@keyframes heroCardSlideInRtl{0%{opacity:0;transform:translate(-120px)translateY(20px)rotate(-10deg)scale(.88)}60%{opacity:1;transform:translate(10px)translateY(-4px)rotate(2deg)scale(1.02)}to{opacity:1;transform:translate(0)translateY(0)rotate(0)scale(1)}}.hero-card-in{opacity:0;animation:1s cubic-bezier(.16,1,.3,1) .35s forwards heroCardSlideIn}@media (prefers-reduced-motion:reduce){.hero-in,.hero-card-in{opacity:1;transform:none;animation:none!important}}
.about-planet-scene{aspect-ratio:1;width:100%;max-width:480px;margin-inline:auto;position:relative;overflow:visible}.about-planet-glow{background:radial-gradient(circle, var(--color-accent) 0%, transparent 68%);filter:blur(26px);opacity:0;border-radius:50%;transition:opacity 1.1s,transform 1.1s cubic-bezier(.2,.8,.2,1);position:absolute;inset:14%;transform:scale(.85)}.about-planet-scene.is-in-view .about-planet-glow{opacity:.55;transform:scale(1)}.about-planet-cast-shadow{filter:blur(3px);opacity:0;background:radial-gradient(#0a08146b 0%,#0a081424 55%,#0000 78%);border-radius:50%;width:40%;height:10%;transition:opacity 1.1s .2s,transform 1.1s cubic-bezier(.2,.8,.2,1) .2s;position:absolute;bottom:10%;left:50%;transform:translate(-50%)scale(.82)}.about-planet-scene.is-in-view .about-planet-cast-shadow{opacity:1;transform:translate(-50%)scale(1)}.about-planet-canvas{opacity:0;width:100%;height:100%;transition:opacity 1.2s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1);display:block;position:absolute;inset:0;transform:scale(.6)}.about-planet-scene.is-in-view .about-planet-canvas{opacity:1;transform:scale(1)}.about-planet-bands{transform-origin:200px 200px;animation:90s linear infinite paused aboutPlanetSpin}@keyframes aboutPlanetSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-planet-scene.is-in-view .about-planet-bands{animation-play-state:running}@keyframes aboutPlanetSpecular{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.78;transform:scale(1.08)}}.about-planet-specular{transform-origin:152px 150px;animation:5s ease-in-out infinite paused aboutPlanetSpecular}.about-planet-scene.is-in-view .about-planet-specular{animation-play-state:running}.about-sat{position:absolute;transform:translate(-50%,-50%)}@keyframes aboutSatBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.about-sat-bob{animation:4.5s ease-in-out infinite paused aboutSatBob}.about-planet-scene.is-in-view .about-sat-bob{animation-play-state:running}.about-sat-entrance{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.3,1.4,.4,1);transform:scale(.5)}.about-planet-scene.is-in-view .about-sat-entrance{opacity:1;transform:scale(1)}.about-sat-flip{width:122px;height:60px;position:relative}.about-galaxy-icon{width:40px;height:40px;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--color-accent) 60%, transparent));animation:2.8s ease-in-out infinite paused aboutGalaxyPulse;position:absolute;top:0;left:0}.about-planet-scene.is-in-view .about-galaxy-icon{animation-play-state:running}@keyframes aboutGalaxyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes aboutGalaxyTwinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.about-galaxy-star{transform-origin:50%;animation:1.8s ease-in-out infinite paused aboutGalaxyTwinkle}.about-galaxy-star:nth-of-type(2){animation-delay:.4s}.about-galaxy-star:nth-of-type(3){animation-delay:.9s}.about-planet-scene.is-in-view .about-galaxy-star{animation-play-state:running}.about-galaxy-arrow{width:68px;height:44px;position:absolute;top:6px;left:30px}.about-sat-unflip{transform-origin:50%;position:absolute;top:6px;right:0}.about-sat-flip.is-flipped .about-sat-unflip{transform:scaleX(-1)}.about-sat-badge{background:var(--color-panel);border:1px solid var(--color-line);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;min-width:56px;padding:5px 10px;display:flex;box-shadow:0 8px 18px #140f281f}.about-sat-value{font-family:var(--font-display);color:var(--color-accent2);font-size:1.05rem;font-weight:700;line-height:1.1}.about-sat-label{font-family:var(--font-mono);color:var(--color-muted);text-align:center;padding-inline:4px;font-size:.55rem}.about-sky{z-index:1;position:absolute;inset:0;overflow:hidden}@keyframes aboutSatelliteDrift{0%{transform:translate(-6%)rotate(-3deg)}50%{transform:translate(6%, calc(-1 * var(--dy,12px))) rotate(3deg)}to{transform:translate(-6%)rotate(-3deg)}}.about-satellite{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-accent2) 55%, transparent));animation-name:aboutSatelliteDrift;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused;position:absolute}.about-sky.is-active .about-satellite{animation-play-state:running}@keyframes aboutMiniPlanetFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.about-mini-planet{filter:drop-shadow(0 6px 10px #140f2838) drop-shadow(0 0 8px color-mix(in srgb, var(--color-accent) 35%, transparent));animation-name:aboutMiniPlanetFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused;position:absolute}.about-sky.is-active .about-mini-planet{animation-play-state:running}@keyframes aboutSunPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}.about-sun{animation:6s ease-in-out infinite paused aboutSunPulse;position:absolute}.about-sky.is-active .about-sun{animation-play-state:running}@keyframes aboutChipFloat{0%,to{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-13px) rotate(calc(var(--rot,0deg) * -1))}}.about-chip{filter:drop-shadow(0 6px 10px #140f281a);animation-name:aboutChipFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused;position:absolute}.about-sky.is-active .about-chip{animation-play-state:running}@keyframes aboutFlameFlicker{0%,to{opacity:.75;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.35)}}.about-stage-flame{transform-origin:50px 66px;animation:.55s ease-in-out infinite paused aboutFlameFlicker}.about-sky.is-active .about-stage-flame{animation-play-state:running}@keyframes aboutDotBlink{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.about-stage-dot{transform-origin:50%;animation:1.2s ease-in-out infinite paused aboutDotBlink}.about-sky.is-active .about-stage-dot{animation-play-state:running}@keyframes aboutBeaconBlink{0%,88%,to{opacity:.15}92%,96%{opacity:1}}.about-sat-beacon{animation:2.4s ease-in-out infinite paused aboutBeaconBlink}.about-sky.is-active .about-sat-beacon{animation-play-state:running}@media (prefers-reduced-motion:reduce){.about-planet-bands,.about-planet-specular,.about-galaxy-icon,.about-galaxy-star,.about-sat-bob,.about-sat-entrance,.about-satellite,.about-mini-planet,.about-sun,.about-chip,.about-stage-flame,.about-stage-dot,.about-sat-beacon{animation:none!important}}
.proj-section{z-index:1;background:0 0;padding-block:6rem;position:relative;overflow:hidden}.proj-header{z-index:2;text-align:center;margin-inline:auto;flex-direction:column;align-items:center;gap:1.1rem;max-width:42rem;margin-bottom:3.5rem;padding-inline:1.5rem;display:flex;position:relative}.proj-stage{align-items:center;height:100vh;min-height:640px;display:flex;position:relative;overflow:hidden}.proj-stage:before{content:"";background-image:radial-gradient(color-mix(in srgb, var(--color-line) 70%, transparent) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:26px 26px;position:absolute;inset:0}.proj-stage-static{height:auto;overflow:visible}.proj-stage-static:before{display:none}.proj-track{will-change:transform;perspective:900px;align-items:center;gap:clamp(2rem,5vw,4rem);display:flex}.proj-stage-static .proj-track{perspective:none;flex-wrap:wrap;justify-content:center;padding-inline:max(8vw,2rem);transform:none!important}.proj-stage-static .proj-slide{filter:none!important;opacity:1!important;transform:none!important}.proj-slide{transform-style:preserve-3d;flex:none;min-height:1px}.proj-tilt{transform-style:preserve-3d;transform:rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));will-change:transform;transition:transform .5s cubic-bezier(.22,1,.36,1)}.proj-card{background:var(--color-panel);border:1px solid var(--color-line);width:clamp(300px,30vw,380px);min-height:560px;box-shadow:0 40px 80px -30px #05050f2e, 0 0 0 1px color-mix(in srgb, var(--color-accent) 10%, transparent);transform-style:preserve-3d;will-change:transform;border-radius:.9rem;flex-direction:column;display:flex;position:relative;overflow:hidden}.proj-card-spotlight{z-index:5;pointer-events:none;background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--color-accent) 22%, transparent), transparent 70%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.proj-card:hover .proj-card-spotlight{opacity:1}.proj-titlebar{background:var(--color-panel2);border-bottom:1px solid var(--color-line);align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.proj-traffic{gap:6px;display:flex}.proj-tf-dot{border-radius:999px;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000026}.proj-tf-red{background:#ff5f56}.proj-tf-yellow{background:#ffbd2e}.proj-tf-green{background:#27c93f}.proj-tab{background:var(--color-panel);border:1px solid var(--color-line);font-family:var(--font-mono);color:var(--color-ink);border-bottom:none;border-radius:.4rem .4rem 0 0;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.72rem;display:flex}.proj-tab-icon{border-radius:2px;flex:none;width:8px;height:8px}.proj-tab-unsaved{background:var(--color-muted);opacity:.6;border-radius:999px;width:6px;height:6px;animation:2.4s ease-in-out infinite projUnsavedPulse}@keyframes projUnsavedPulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.9;transform:scale(1)}}.proj-card-index{font-family:var(--font-mono);letter-spacing:.15em;color:var(--color-muted);margin-inline-start:auto;font-size:.68rem}.proj-editor-body{background:var(--color-panel);flex:1;display:flex}.proj-gutter{font-family:var(--font-mono);color:var(--color-muted);opacity:.7;text-align:end;border-inline-end:1px solid var(--color-line);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;gap:.42rem;padding:1rem .55rem;font-size:.68rem;display:flex}.proj-editor-main{flex-direction:column;flex:1;gap:.7rem;min-width:0;padding:1rem 1.1rem 1.2rem;display:flex}.proj-browserbar{background:var(--color-panel2);border:1px solid var(--color-line);border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .7rem;display:flex}.proj-browser-dots{gap:4px;display:flex}.proj-browser-dots span{background:var(--color-muted);opacity:.6;border-radius:999px;width:5px;height:5px}.proj-browser-url{font-family:var(--font-mono);color:var(--color-muted);direction:ltr;align-items:center;gap:.35rem;font-size:.68rem;display:flex}.proj-image-wrap{aspect-ratio:16/10;border:1px solid var(--color-line);background:linear-gradient(150deg, var(--color-panel2), var(--color-bg));border-radius:.5rem;position:relative;overflow:hidden}.proj-image-wrap img{object-fit:cover;transition:transform .6s}.proj-card:hover .proj-image-wrap img{transform:scale(1.06)}.proj-image-overlay{background:linear-gradient(#0000 55%,#0a0a1059 100%);position:absolute;inset:0}.proj-image-fallback-content{color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;font-size:.7rem;display:none;position:absolute;inset:0}.proj-image-fallback .proj-image-fallback-content{display:flex}.proj-comment{font-family:var(--font-mono);color:#6a9955;text-align:start;direction:ltr;font-size:.72rem}.proj-title{color:var(--color-ink);text-align:start;font-size:1.4rem;font-weight:700}.proj-desc{color:var(--color-muted);text-align:start;font-size:.86rem;line-height:1.85}.proj-run-btn{background:linear-gradient(135deg, var(--color-accent-soft), var(--color-accent2));color:#fff;font-family:var(--font-mono);box-shadow:0 10px 24px -12px color-mix(in srgb, var(--color-accent) 70%, transparent);background-position:0%;background-size:160% 160%;border-radius:.5rem;align-self:start;align-items:center;gap:.5rem;margin-top:auto;padding:.5rem 1rem;font-size:.78rem;text-decoration:none;transition:transform .25s,box-shadow .25s,background-position .4s;display:inline-flex}.proj-run-btn:hover{background-position:100%;transform:translateY(-2px)}[dir=rtl] .proj-run-btn svg{transform:scaleX(-1)}.proj-statusbar{background:var(--color-panel2);border-top:2px solid var(--status-color,var(--color-accent));font-family:var(--font-mono);color:var(--color-muted);direction:ltr;align-items:center;gap:1rem;padding:.4rem .9rem;font-size:.68rem;display:flex}.proj-status-item{opacity:.95;white-space:nowrap;align-items:center;gap:.3rem;display:flex}.proj-status-spacer{flex:1}.proj-status-ok{color:var(--status-color,var(--color-accent))}.proj-term{background:var(--color-panel);border:1px solid var(--color-line);border-radius:.85rem;width:clamp(220px,20vw,260px);overflow:hidden;box-shadow:0 30px 60px -30px #05050f2e}.proj-term-planet,.proj-term-rocket,.proj-term-satellite,.proj-term-comet{width:clamp(252px,23vw,330px)}.proj-term-bar{background:var(--color-panel2);border-bottom:1px solid var(--color-line);align-items:center;gap:6px;padding:.55rem .75rem;display:flex}.proj-term-dot{border-radius:999px;width:9px;height:9px}.proj-term-dot-r{background:#ff5f56}.proj-term-dot-y{background:#ffbd2e}.proj-term-dot-g{background:#27c93f}.proj-term-title{font-family:var(--font-mono);color:var(--color-muted);margin-inline-start:.4rem;font-size:.66rem}.proj-term-body{font-family:var(--font-mono);flex-direction:column;gap:.6rem;padding:1rem;display:flex}.proj-term-body-center{text-align:center;align-items:center}.proj-term-line{color:var(--color-ink);direction:ltr;font-size:.7rem}.proj-term-line-comment{color:#6a9955}.proj-term-line-muted{color:var(--color-muted);font-size:.64rem}.proj-term-prompt{color:var(--color-accent2);margin-inline-end:.35rem}.proj-term-cursor{background:var(--color-ink);vertical-align:-2px;width:6px;height:12px;margin-inline-start:4px;animation:1s step-end infinite projCursorBlink;display:inline-block}@keyframes projCursorBlink{50%{opacity:0}}.proj-rocket-stage,.proj-planet-stage,.proj-sat-stage,.proj-comet-stage{justify-content:center;align-items:center;padding-block:.4rem;display:flex;position:relative}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-flame{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-smoke{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-planet-bands{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-moon-orbit{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-asteroid-belt{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-sat-blink{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-sat-signal path{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-star{animation-play-state:running}.proj-section:has(.proj-stage:not(.proj-stage-static)) .proj-comet-particle{animation-play-state:running}.proj-rocket-beacon{animation:1.4s ease-in-out infinite projBeacon}@keyframes projBeacon{0%,to{opacity:.3}50%{opacity:1}}@keyframes projFlameFlicker{0%,to{opacity:.75;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4)}}.proj-flame{transform-origin:90px 224px;animation:.5s ease-in-out infinite paused projFlameFlicker}.proj-flame-side{transform-origin:50% 230px;animation-duration:.4s}.proj-flame-core{animation-duration:.35s}.proj-smoke{background:color-mix(in srgb, var(--color-accent) 40%, transparent);opacity:0;border-radius:999px;width:8px;height:8px;animation-name:projSmokeRise;animation-duration:2.2s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-play-state:paused;position:absolute;bottom:6px}.proj-smoke-1{animation-delay:0s;left:44%}.proj-smoke-2{animation-delay:.55s;left:50%}.proj-smoke-3{animation-delay:1.1s;left:56%}.proj-smoke-4{animation-delay:1.65s;left:48%}@keyframes projSmokeRise{0%{opacity:.55;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-70px)scale(1.6)}}.proj-planet-bands{transform-origin:100px 100px;animation:40s linear infinite paused projPlanetSpin}@keyframes projPlanetSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.proj-moon-orbit{transform-origin:100px 100px;animation:14s linear infinite paused projMoonOrbit}@keyframes projMoonOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.proj-asteroid-belt{transform-origin:100px 100px;animation:60s linear infinite paused projMoonOrbit}.proj-sat-blink{animation:1.1s ease-in-out infinite paused projBeacon}.proj-sat-blink-2{animation-delay:.55s}.proj-sat-signal path{transform-origin:120px 62px;animation:2.4s ease-out infinite paused projSignalPulse}.proj-sat-signal path:nth-child(2){animation-delay:.3s}.proj-sat-signal path:nth-child(3){animation-delay:.6s}@keyframes projSignalPulse{0%{opacity:.7;transform:scale(.85)}70%{opacity:0;transform:scale(1.15)}to{opacity:0;transform:scale(1.15)}}.proj-star{transform-origin:50%;animation:2.6s ease-in-out infinite paused projStarTwinkle}@keyframes projStarTwinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.proj-comet-particle{animation-name:projCometParticle;animation-duration:1.6s;animation-timing-function:ease-in;animation-iteration-count:infinite;animation-play-state:paused}.proj-comet-particle-1{animation-delay:0s}.proj-comet-particle-2{animation-delay:.45s}.proj-comet-particle-3{animation-delay:.9s}@keyframes projCometParticle{0%{opacity:.9;transform:translate(0)scale(1)}to{opacity:0;transform:translate(28px,-6px)scale(.3)}}@media (max-width:640px){.proj-card{width:82vw;min-height:500px}.proj-term{width:78vw}.proj-term-planet,.proj-term-rocket,.proj-term-satellite,.proj-term-comet{width:84vw}.proj-gutter{display:none}}.proj-empty-wrap{justify-content:center;align-items:center;padding:4rem 1.5rem;display:flex}@keyframes proj-empty-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.proj-empty-cursor{animation:none}}.proj-loading-wrap{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:300px;padding:4rem 1.5rem;display:flex}.proj-loading-spinner{border:3px solid var(--color-line);border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite proj-spin}@keyframes proj-spin{to{transform:rotate(360deg)}}.proj-loading-text{color:var(--color-muted);font-size:.9rem}.proj-empty-wrap{justify-content:center;align-items:center;width:100%;padding:4rem 1.5rem;display:flex}.proj-empty-card{border:1px solid var(--color-line);background:var(--color-panel);border-radius:14px;width:100%;max-width:420px;position:relative;overflow:hidden;box-shadow:0 20px 60px -30px #6366f166;box-shadow:0 20px 60px -30px lab(49.0485% 30.3448 -71.8736/.4)}.proj-empty-card:before{content:"";pointer-events:none;background:radial-gradient(60% 100% at 50% 0,#6366f138,#0000 70%);background:radial-gradient(60% 100% at 50% 0,lab(49.0485% 30.3448 -71.8736/.22),#0000 70%);height:160px;position:absolute;inset:-40% -20% auto}.proj-empty-icon{background:#b266e4;background:lab(56.2192% 47.3294 -52.6173)}.proj-empty-body{padding-block:1.75rem}.proj-empty-main{align-items:center;min-height:3rem;display:flex}.proj-empty-comment{color:var(--color-muted);align-items:center;gap:2px;font-size:.95rem;display:inline-flex}.proj-empty-cursor{vertical-align:-2px;background:#b266e4;background:lab(56.2192% 47.3294 -52.6173);width:2px;height:1em;margin-inline-start:4px;animation:1s step-end infinite proj-empty-blink;display:inline-block}.proj-section:has(.proj-empty-wrap) .proj-stage{display:none!important}.proj-section:has(.proj-loading-wrap) .proj-stage{display:none!important}.proj-section:has(.proj-empty-wrap){padding-bottom:4rem}@media (max-width:640px){.proj-card{width:82vw;min-height:500px}.proj-term{width:78vw}.proj-term-planet,.proj-term-rocket,.proj-term-satellite,.proj-term-comet{width:84vw}.proj-gutter{display:none}.proj-empty-wrap{padding:2rem 1rem}}@media (prefers-reduced-motion:reduce){.proj-empty-cursor{animation:none}.proj-loading-spinner{border-color:var(--color-line);border-top-color:var(--color-accent);animation:none}}.proj-stage:empty{display:none!important}.proj-section{overflow:visible!important}
.test-band-spin{transform-origin:200px 200px;animation:60s linear infinite paused testSpin}.test-earth-rotate{transform-origin:200px 200px;animation:90s linear infinite paused testSpin}.test-mars-rotate{transform-origin:175px 175px;animation:130s linear infinite paused testSpin}@keyframes testSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.test-twinkle{transform-origin:50%;animation:2.6s ease-in-out infinite paused testTwinkle}@keyframes testTwinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.test-blink{animation:1.4s ease-in-out infinite paused testBeacon}@keyframes testBeacon{0%,to{opacity:.35}50%{opacity:1}}@keyframes testSpecularPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.test-specular-pulse{transform-box:fill-box;transform-origin:50%;animation:5s ease-in-out infinite paused testSpecularPulse}@keyframes testFlameFlicker{0%,to{opacity:.75;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4)}}.test-flame{transform-origin:130px 320px;animation:.5s ease-in-out infinite paused testFlameFlicker}.test-flame-mid{animation-duration:.45s}.test-flame-inner{animation-duration:.4s}.test-smoke{fill:color-mix(in srgb, var(--color-accent) 45%, transparent);opacity:0;transform-box:fill-box;transform-origin:50%;animation-name:testSmokeRise;animation-duration:2.4s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-play-state:paused}.test-smoke-1{animation-delay:0s}.test-smoke-2{animation-delay:.6s}.test-smoke-3{animation-delay:1.2s}.test-smoke-4{animation-delay:1.8s}.test-smoke-5{animation-delay:.9s}@keyframes testSmokeRise{0%{opacity:.55;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-90px)scale(2.1)}}.test-spark{opacity:0;transform-box:fill-box;transform-origin:50%;animation-name:testSparkShoot;animation-duration:.9s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-play-state:paused}.test-spark-1{animation-delay:0s}.test-spark-2{animation-delay:.3s}.test-spark-3{animation-delay:.6s}@keyframes testSparkShoot{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(60px)scale(.3)}}.test-dust-drift{transform-origin:50%;animation:20s ease-in-out infinite paused testDustDrift}@keyframes testDustDrift{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(3px)rotate(1.5deg)}}.test-corona-pulse{transform-origin:50%;animation:3.4s ease-in-out infinite paused testCoronaPulse}.test-corona-pulse-2{animation-duration:4.6s;animation-direction:reverse}@keyframes testCoronaPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.test-flare-spin{animation:40s linear infinite paused testSpin}.test-lensflare{animation:6s ease-in-out infinite paused testLensFlareFade}@keyframes testLensFlareFade{0%,to{opacity:.55}50%{opacity:.9}}.test-sun-spot{animation:3.6s ease-in-out infinite paused testSunSpot}@keyframes testSunSpot{0%,to{opacity:.75}50%{opacity:1}}.test-prominence-flicker{animation:2.2s ease-in-out infinite paused testPromFlicker}@keyframes testPromFlicker{0%,to{opacity:.75}50%{opacity:1}}.test-cloud-drift{animation:22s linear infinite paused testCloudDrift}@keyframes testCloudDrift{0%{transform:translate(0)}to{transform:translate(24px)}}.test-cloud-drift-rev{animation:34s linear infinite paused testCloudDriftRev}@keyframes testCloudDriftRev{0%{transform:translate(0)}to{transform:translate(-18px)}}.test-city-light{animation:2.8s ease-in-out infinite paused testCityLight}@keyframes testCityLight{0%,to{opacity:.15}50%{opacity:.6}}.test-decor svg{transform-style:preserve-3d;will-change:transform;animation:10s ease-in-out infinite paused testTilt3d}@keyframes testTilt3d{0%{transform:rotateX(6deg)rotateY(-9deg)}50%{transform:rotateX(-6deg)rotateY(9deg)}to{transform:rotateX(6deg)rotateY(-9deg)}}svg.test-rocket-svg{animation-name:testTilt3d;animation-duration:10s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}[dir=rtl] .test-best-arrow{transform:scaleX(-1)}.test-arrow-draw{stroke-dasharray:200;stroke-dashoffset:200px}.test-section.is-active .test-arrow-draw{animation:1.4s ease-out .5s forwards testArrowDraw}@keyframes testArrowDraw{to{stroke-dashoffset:0}}.test-star-spin{transform-origin:50%;animation:24s linear infinite paused testSpin}.test-star-sparkle{transform-origin:50%;animation:2.2s ease-in-out infinite paused testTwinkle}.test-star-sparkle-2{animation-delay:1.1s}.test-ribbon{top:1rem;color:#fff;font-family:var(--font-mono);letter-spacing:.08em;padding:.3rem 3rem;font-size:.62rem;position:absolute;inset-inline-end:-2.6rem;transform:rotate(35deg)}[dir=rtl] .test-ribbon{transform:rotate(35deg)}.test-section.is-active .test-band-spin,.test-section.is-active .test-earth-rotate,.test-section.is-active .test-mars-rotate,.test-section.is-active .test-twinkle,.test-section.is-active .test-blink,.test-section.is-active .test-flame,.test-section.is-active .test-smoke,.test-section.is-active .test-dust-drift,.test-section.is-active .test-spark,.test-section.is-active .test-specular-pulse,.test-section.is-active .test-corona-pulse,.test-section.is-active .test-flare-spin,.test-section.is-active .test-lensflare,.test-section.is-active .test-sun-spot,.test-section.is-active .test-prominence-flicker,.test-section.is-active .test-cloud-drift,.test-section.is-active .test-cloud-drift-rev,.test-section.is-active .test-city-light,.test-section.is-active .test-decor svg,.test-section.is-active .test-star-spin,.test-section.is-active .test-star-sparkle{animation-play-state:running}@media (prefers-reduced-motion:reduce){.test-band-spin,.test-earth-rotate,.test-mars-rotate,.test-twinkle,.test-blink,.test-flame,.test-smoke,.test-dust-drift,.test-spark,.test-specular-pulse,.test-corona-pulse,.test-flare-spin,.test-lensflare,.test-sun-spot,.test-prominence-flicker,.test-cloud-drift,.test-cloud-drift-rev,.test-city-light,.test-decor svg,.test-rocket-svg,.test-star-spin,.test-star-sparkle,.test-arrow-draw{stroke-dashoffset:0!important;animation:none!important;transform:none!important}}.earth-spin{transform-box:view-box;transform-origin:200px 200px;will-change:transform;animation:50s linear infinite earth-spin}@keyframes earth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.earth-cloud-1,.earth-cloud-2{transform-box:fill-box;transform-origin:50%;animation:9s ease-in-out infinite earth-cloud-drift}.earth-cloud-2{animation-duration:11s;animation-direction:reverse}@keyframes earth-cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(10px)}}@media (prefers-reduced-motion:reduce){.earth-spin,.earth-cloud-1,.earth-cloud-2{animation:none}}.test-section:not(.is-active) .test-scroll-wrap{visibility:hidden}
.sig-section{z-index:1;background:0 0;padding-top:6rem;padding-bottom:2.5rem;position:relative;overflow:hidden}.sig-header{z-index:2;text-align:center;margin-inline:auto;flex-direction:column;align-items:center;gap:1.1rem;max-width:42rem;margin-bottom:2.5rem;padding-inline:1.5rem;display:flex;position:relative}.sig-open-line{font-family:var(--font-mono);color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:1.6rem;font-size:.78rem;display:inline-flex}.sig-open-arrows-wrap{display:inline-block;position:relative}.sig-open-arrows{width:6.25rem;height:2.5rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.sig-live-value{color:var(--color-ink);font-weight:700}.sig-open-caption{color:var(--color-muted)}.sig-track{z-index:2;max-width:900px;margin-inline:auto;padding-inline:max(4vw,1.25rem);position:relative}.sig-path-svg{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sig-path-base{fill:none;stroke:var(--color-line);stroke-width:1.4px;opacity:.6}.sig-path-calc{fill:none;visibility:hidden}.sig-path-progress{fill:none;stroke:var(--color-accent2);stroke-width:1.8px;opacity:.85;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--color-accent2) 55%, transparent))}.sig-path-end{z-index:1;pointer-events:none;position:absolute;top:100%;left:50%;transform:translate(-50%,-50%)}.sig-path-end-glow{background:var(--color-accent2);opacity:.28;border-radius:999px;width:32px;height:32px;animation:2.4s ease-in-out infinite paused sigEndPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.sig-section.is-active .sig-path-end-glow{animation-play-state:running}@keyframes sigEndPulse{0%,to{opacity:.22;transform:translate(-50%,-50%)scale(1)}50%{opacity:.4;transform:translate(-50%,-50%)scale(1.35)}}.sig-path-end-dot{background:var(--color-panel);border:1.6px solid var(--color-accent2);border-radius:999px;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sig-path-end-line{width:3px;height:2rem;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%)}.sig-path-end-stroke{fill:none;stroke:var(--color-accent2);stroke-width:1.8px;stroke-linecap:round;opacity:.85;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--color-accent2) 55%, transparent));stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1) .15s}.sig-section.is-active .sig-path-end-stroke{stroke-dashoffset:0}.sig-marker{z-index:1;background:radial-gradient(circle, #fff 0%, var(--color-accent2) 55%, transparent 100%);width:12px;height:12px;box-shadow:0 0 16px 4px color-mix(in srgb, var(--color-accent2) 65%, transparent);pointer-events:none;opacity:0;border-radius:999px;animation:1.8s ease-in-out infinite paused sigMarkerPulse;position:absolute;top:0;left:0}.sig-trail{z-index:1;background:var(--color-accent-soft);pointer-events:none;opacity:0;border-radius:999px;width:7px;height:7px;position:absolute;top:0;left:0}@keyframes sigMarkerPulse{0%,to{box-shadow:0 0 14px 3px color-mix(in srgb, var(--color-accent2) 55%, transparent)}50%{box-shadow:0 0 22px 6px color-mix(in srgb, var(--color-accent2) 75%, transparent)}}.sig-percent{z-index:1;font-family:var(--font-mono);color:var(--color-accent2);white-space:nowrap;pointer-events:none;opacity:0;font-size:.68rem;transition:opacity .2s;position:absolute;top:0;left:0}.sig-stop{z-index:2;max-width:460px;padding-block:4.5rem;position:relative}.sig-stop-1{margin-inline:6% auto}.sig-stop-2{max-width:480px;margin-inline:auto 4%}.sig-stop-3{margin-inline:12% auto}.sig-stop-1,.sig-stop-3{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translate(-26px)}.sig-stop-2{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translate(26px)}[dir=rtl] .sig-stop-1,[dir=rtl] .sig-stop-3{transform:translate(26px)}[dir=rtl] .sig-stop-2{transform:translate(-26px)}.sig-stop.is-visible{opacity:1;transform:translate(0)}.sig-stop-eyebrow{font-family:var(--font-mono);color:#6a9955;text-align:start;direction:ltr;margin-bottom:.6rem;font-size:.72rem}.sig-stop-heading{font-family:var(--font-display);color:var(--color-ink);text-align:start;margin-bottom:.7rem;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;line-height:1.3}.sig-stop-heading-accent{color:var(--color-accent2);font-family:var(--font-mono);letter-spacing:.06em;font-size:1.2rem}.sig-stop-body{font-family:var(--font-body);color:var(--color-muted);text-align:start;font-size:.95rem;line-height:1.85}.sig-form{flex-direction:column;gap:1.5rem;margin-top:1.8rem;display:flex}.sig-field{text-align:start;flex-direction:column;gap:.5rem;display:flex}.sig-field label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-muted);font-size:.72rem}.sig-input-wrap{position:relative}.sig-input-wrap input,.sig-input-wrap textarea{border:none;border-bottom:1.5px solid var(--color-line);width:100%;font-family:var(--font-body);color:var(--color-ink);resize:none;background:0 0;border-radius:0;outline:none;padding:.5rem .1rem;font-size:1rem;transition:border-color .25s}.sig-input-wrap input::placeholder,.sig-input-wrap textarea::placeholder{color:var(--color-muted);opacity:.6}.sig-input-wrap input:focus,.sig-input-wrap textarea:focus{border-color:var(--color-accent2)}.sig-input-wrap[data-invalid=true] input,.sig-input-wrap[data-invalid=true] textarea{border-color:var(--color-danger,#e5484d)}.sig-input-wrap.is-shaking{animation:.4s sigShake}@keyframes sigShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.sig-submit-wrap{align-self:start;margin-top:.4rem}.sig-spinner{border:1.6px solid #ffffff59;border-top-color:#fff;border-radius:999px;width:11px;height:11px;animation:.8s linear infinite sigSpin}@keyframes sigSpin{to{transform:rotate(360deg)}}.sig-terminal{font-family:var(--font-mono);text-align:start;direction:ltr;flex-direction:column;gap:.3rem;margin-top:1.4rem;font-size:.72rem;display:flex}.sig-terminal-line{min-height:1.1em;color:var(--color-muted);opacity:0;transition:opacity .25s,transform .25s;transform:translateY(-3px)}.sig-terminal-line.is-visible{opacity:1;transform:translateY(0)}.sig-terminal-line.tone-error{color:var(--color-danger,#e5484d)}.sig-terminal-line.tone-success{color:var(--color-accent2)}.sig-terminal-line.tone-idle{color:var(--color-muted);opacity:.55}.sig-terminal-caret:after{content:"_";animation:1s step-end infinite sigCaretBlink}@keyframes sigCaretBlink{50%{opacity:0}}.sig-alt{flex-wrap:wrap;justify-content:start;gap:.4rem .9rem;margin-top:1.4rem;display:flex}.sig-alt-link{font-family:var(--font-mono);color:var(--color-ink);border-bottom:1px solid var(--color-line);padding-bottom:1px;font-size:.82rem;text-decoration:none;transition:border-color .2s,color .2s}.sig-alt-link:hover{border-color:var(--color-accent2);color:var(--color-accent2)}.sig-section.is-active .sig-marker{animation-play-state:running}@media (max-width:720px){.sig-stop-1,.sig-stop-2,.sig-stop-3{max-width:92vw;margin-inline:auto}.sig-percent{display:none}}@media (prefers-reduced-motion:reduce){.sig-marker,.sig-spinner,.sig-input-wrap.is-shaking,.sig-terminal-caret:after,.sig-path-end-glow{animation:none!important}.sig-path-end-stroke{stroke-dashoffset:0!important;transition:none!important}.sig-stop-1,.sig-stop-2,.sig-stop-3{opacity:1!important;transition:none!important;transform:none!important}}.sig-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
.ftr-section{z-index:2;background:0 0;padding-top:1.5rem;position:relative;overflow:hidden}.ftr-chart-wrap{z-index:5;max-width:1100px;margin-inline:auto;padding-inline:max(4vw,1.5rem);position:relative}.ftr-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:#6a9955;text-align:start;direction:ltr;margin-bottom:.6rem;font-size:.68rem}.ftr-chart-svg{z-index:1;width:100%;height:clamp(160px,24vw,240px);display:block;position:relative;overflow:visible}.ftr-seg{fill:none;stroke:var(--color-line);stroke-width:1.4px}.ftr-seg-progress{fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:.75;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1),stroke-width .25s,opacity .25s}.ftr-section.is-active .ftr-seg-progress{stroke-dashoffset:0}.ftr-seg-progress.is-lit{stroke-width:2.6px;opacity:1}.ftr-entry-stub{fill:none;stroke:var(--color-accent2);stroke-width:1.8px;opacity:.85;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--color-accent2) 55%, transparent));transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1)}.ftr-section.is-active .ftr-entry-stub{stroke-dashoffset:0}.ftr-entry-glow{fill:var(--color-accent2);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .4s .5s;animation:2.4s ease-in-out infinite paused ftrBigPulse}.ftr-section.is-active .ftr-entry-glow{opacity:.28;animation-play-state:running}.ftr-entry-dot{fill:var(--color-panel);stroke:var(--color-accent2);stroke-width:1.6px;opacity:0;transition:opacity .4s .5s}.ftr-section.is-active .ftr-entry-dot{opacity:1}.ftr-node-link{cursor:pointer;pointer-events:auto}.ftr-node-group{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .5s,transform .5s cubic-bezier(.2,1.4,.4,1);transform:scale(.4)}.ftr-section.is-active .ftr-node-group{opacity:1;transform:scale(1)}.ftr-node-dot{fill:var(--color-panel);stroke:var(--color-accent2);stroke-width:1.6px;transition:r .25s,fill .25s}.ftr-node-link:hover .ftr-node-dot,.ftr-node-link:focus-visible .ftr-node-dot{fill:var(--color-accent2)}.ftr-node-label{font-family:var(--font-mono);fill:var(--color-muted);font-size:12px;transition:fill .25s}.ftr-node-link:hover .ftr-node-label,.ftr-node-link:focus-visible .ftr-node-label{fill:var(--color-ink)}.ftr-node-deco .ftr-node-dot{fill:var(--color-line);stroke:var(--color-line)}.ftr-node-deco .ftr-node-label{fill:var(--color-muted);opacity:.75}.ftr-node-big .ftr-node-label{fill:var(--color-ink);font-size:13.5px;font-weight:700}.ftr-node-big-glow{fill:var(--color-accent2);opacity:.28;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite paused ftrBigPulse}.ftr-section.is-active .ftr-node-big-glow{animation-play-state:running}@keyframes ftrBigPulse{0%,to{opacity:.22;transform:scale(1)}50%{opacity:.4;transform:scale(1.35)}}.ftr-node-big .ftr-node-dot{fill:var(--color-accent2);stroke:var(--color-accent-soft)}.ftr-stub{padding-inline:max(4vw,1.5rem);max-width:1100px;margin:1.4rem auto 0;padding-bottom:1.8rem;position:relative}.ftr-perf{-webkit-user-select:none;user-select:none;touch-action:none;height:44px;position:relative}.ftr-perf-hint{top:0;font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-muted);opacity:1;pointer-events:none;white-space:nowrap;align-items:center;gap:.3rem;font-size:.62rem;transition:opacity .35s;display:flex;position:absolute;inset-inline-start:max(4vw,1.5rem)}.ftr-perf-hint.is-hidden{opacity:0}.ftr-perf-arrow{color:var(--color-accent2);animation:1.4s ease-in-out infinite ftrArrowNudge}[dir=rtl] .ftr-perf-arrow{animation-name:ftrArrowNudgeRtl}@keyframes ftrArrowNudge{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(6px)}}@keyframes ftrArrowNudgeRtl{0%,to{opacity:.5;transform:translate(0)scaleX(-1)}50%{opacity:1;transform:translate(-6px)scaleX(-1)}}.ftr-perf-track{inset-inline:max(4vw,1.5rem);background-image:repeating-linear-gradient(to right, var(--color-line) 0 6px, transparent 6px 12px);height:1px;position:absolute;top:28px}.ftr-perf-fill{top:27px;background:linear-gradient(to right, var(--color-accent-soft), var(--color-accent2));pointer-events:none;border-radius:999px;height:2px;transition:width .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset-inline-start:max(4vw,1.5rem)}.ftr-perf-fill.is-dragging{transition:none}.ftr-perf-hole{background:var(--color-panel);border:1px solid var(--color-line);border-radius:999px;width:15px;height:15px;position:absolute;top:28px;transform:translateY(-50%)}.ftr-perf-hole.end{margin-inline-end:-7.5px;inset-inline-end:max(4vw,1.5rem)}.ftr-perf-handle{background:var(--color-panel);border:1.6px solid var(--color-accent2);cursor:grab;z-index:3;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;margin-inline-start:max(4vw,1.5rem);transition:left .5s cubic-bezier(.2,.8,.2,1),inset-inline-start .5s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:28px;transform:translate(-50%,-50%)}[dir=rtl] .ftr-perf-handle{transform:translate(50%,-50%)}.ftr-perf-handle.is-dragging{cursor:grabbing;transition:none}.ftr-perf-handle:before{content:"";border:1.4px dashed var(--color-accent2);opacity:.55;border-radius:999px;animation:1.8s ease-in-out infinite ftrHandlePulse;position:absolute;inset:-7px}.ftr-perf-handle.has-interacted:before{opacity:0;animation:none}@keyframes ftrHandlePulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.05;transform:scale(1.35)}}.ftr-tear-burst{top:28px;pointer-events:none;position:absolute;inset-inline-end:max(4vw,1.5rem);transform:translateY(-50%)}.ftr-tear-burst span{background:var(--color-accent2);opacity:0;border-radius:1px;width:5px;height:9px;position:absolute;top:0;left:0}.ftr-tear-burst.is-tearing span{animation:.7s ease-out forwards ftrBurst}@keyframes ftrBurst{0%{transform:translate(0, 0) rotate(var(--rot)) scale(1);opacity:1}to{transform:translate(var(--tx), var(--ty)) rotate(var(--rot)) scale(.3);opacity:0}}.ftr-stub-body{flex-wrap:wrap;align-items:center;padding-top:.4rem;display:flex}.ftr-field{border-inline-start:1px dashed var(--color-line);flex-direction:column;justify-content:center;gap:.35rem;padding:1rem 1.3rem;display:flex}.ftr-field:first-child{border-inline-start:none;padding-inline-start:0}.ftr-field-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent2);opacity:.85;font-size:.6rem}.ftr-field-value{font-family:var(--font-body);color:var(--color-muted);font-size:.8rem}.ftr-field-brand{flex:220px}.ftr-field-social{flex:none}.ftr-field-copy{flex:none;margin-inline-start:auto}.ftr-brand-frame{align-items:center;padding:.4rem 1.2rem;display:inline-flex;position:relative}.ftr-brand-frame-svg{width:100%;height:100%;position:absolute;inset:0}.ftr-brand-frame-path{stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1)}.ftr-brand-frame-path.is-drawn{stroke-dashoffset:0;transition-delay:.3s}.ftr-brand-frame-text{color:var(--color-ink);white-space:nowrap;font-weight:700;position:relative}.ftr-social-icons{gap:.55rem;display:flex}.ftr-social-icons a{color:var(--color-muted);transition:color .2s,transform .2s}.ftr-social-icons a:hover,.ftr-social-icons a:focus-visible{color:var(--color-accent2);transform:translateY(-2px)}.ftr-barcode{color:var(--color-muted);opacity:.9}@media (max-width:720px){.ftr-stub-body{text-align:center;justify-content:center}.ftr-field{border-inline-start:none;align-items:center}.ftr-field-copy{margin-inline-start:0}}@media (prefers-reduced-motion:reduce){.ftr-seg-progress,.ftr-entry-stub{stroke-dashoffset:0!important;transition:none!important}.ftr-entry-glow,.ftr-entry-dot{opacity:1!important;transition:none!important}.ftr-entry-glow{opacity:.28!important;animation:none!important}.ftr-node-group{opacity:1!important;transition:none!important;transform:none!important}.ftr-node-big-glow{animation:none!important}.ftr-perf-handle,.ftr-perf-fill{transition:none!important}.ftr-perf-handle:before,.ftr-perf-arrow{animation:none!important}.ftr-brand-frame-path{stroke-dashoffset:0!important;transition:none!important}}.ftr-qr-trigger{color:var(--color-ink);cursor:pointer;opacity:.85;background:0 0;border:none;padding:0;line-height:0;transition:opacity .2s,transform .2s;display:inline-flex}.ftr-qr-trigger:hover{opacity:1;transform:scale(1.06)}.ftr-qr-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ftr-qr-modal{border:1px solid var(--color-line);background:var(--color-panel);border-radius:1.25rem;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:300px;padding:2rem 1.5rem 1.5rem;display:flex;position:relative;box-shadow:0 25px 50px -12px #00000080}.ftr-qr-close{top:.6rem;background:var(--color-panel2);width:28px;height:28px;color:var(--color-muted);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;inset-inline-end:.6rem}.ftr-qr-close:hover{color:var(--color-ink)}.ftr-qr-modal-code{background:#fff;border-radius:.75rem;padding:.75rem}.ftr-qr-modal-label{font-family:var(--font-body,inherit);color:var(--color-ink);text-align:center;margin:0;font-size:.85rem}.ftr-qr-modal-url{color:var(--color-muted);text-align:center;word-break:break-all;margin:0;font-family:monospace;font-size:.7rem}.ftr-social-custom-icon{object-fit:contain;width:14px;height:14px}
