.hero-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--color-glass-bg);border:1px solid var(--color-base-border);backdrop-filter:blur(12px);box-shadow:0 8px 24px var(--color-shadow);white-space:nowrap;animation:chipFloat var(--float-dur, 6s) ease-in-out var(--float-delay, 0s) infinite}.hero-chip-dot{width:7px;height:7px;border-radius:9999px;flex-shrink:0}@keyframes chipFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-1.5deg)}}@keyframes springUp{0%{opacity:0;transform:translateY(64px)}60%{opacity:1;transform:translateY(-10px)}80%{transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fallSettle{0%{opacity:0;transform:translateY(-72px) rotate(-3.5deg)}55%{opacity:1;transform:translateY(10px) rotate(1.5deg)}78%{transform:translateY(-5px) rotate(-.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes swingIn{0%{opacity:0;transform:translate(-70px) rotate(-14deg)}55%{opacity:1;transform:translate(8px) rotate(5deg)}80%{transform:translate(-3px) rotate(-2deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes fadeInSoft{0%{opacity:0}to{opacity:1}}.hero-anim-badge{animation:springUp .8s ease-out 0s both}.hero-anim-h1{animation:springUp .8s ease-out .1s both}.hero-anim-p{animation:springUp .8s ease-out .2s both}.hero-anim-btns{animation:springUp .8s ease-out .3s both}.hero-anim-photo{animation:fallSettle .9s ease-out .15s both}.hero-anim-chip1{animation:swingIn .7s ease-out .85s both;transform-origin:left center}.hero-anim-chip2{animation:swingIn .7s ease-out 1s both;transform-origin:left center}.hero-anim-chip3{animation:swingIn .7s ease-out 1.15s both;transform-origin:left center}.hero-anim-scrollhint{animation:fadeInSoft .6s ease-out 1.5s both}body .reveal{opacity:0;transform:translateY(56px);transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.34,1.56,.64,1)}body .reveal.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.hero-anim-badge,.hero-anim-h1,.hero-anim-p,.hero-anim-btns,.hero-anim-photo,.hero-anim-chip,.hero-anim-scrollhint,.hero-chip,.hero-chip-dot{animation:none!important;opacity:1!important}.p3-line,.p3-badge,.p3-progress,.p3-cursor-line,.p3-leg,.p3-cursor,.p3-progress-fill{animation:none!important;opacity:1!important;clip-path:none!important}.p3-progress-fill{width:100%!important}body .reveal{transition:none;opacity:1;transform:none}}:root{--p3-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}.p3-term{background:#0d1117;border:1px solid #21262D;box-shadow:0 24px 60px #0006}.p3-term-bar{background:#161b22;border-bottom:1px solid #21262D}.p3-tl{width:12px;height:12px;border-radius:9999px;display:inline-block}.p3-term-body{font-family:var(--p3-mono);font-size:.85rem;color:#c9d1d9}.p3-prompt{color:var(--color-accent-cyan);font-weight:700}.p3-arg{color:#8b949e}.p3-badge{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:9999px;border:1px solid;white-space:nowrap}.p3-progress{width:110px;height:8px;border-radius:9999px;background:#21262d;overflow:hidden;display:inline-block}.p3-progress-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent-cyan),var(--color-accent-pink))}.p3-cursor{display:inline-block;width:9px;height:17px;vertical-align:text-bottom;background:#c9d1d9}.proc3 .p3-line{opacity:0;display:inline-block}.proc3.visible .p3-l1{animation:p3type .6s steps(24,end) .2s both}.proc3.visible .p3-l2{animation:p3type .6s steps(24,end) 1.3s both}.proc3.visible .p3-l3{animation:p3type .6s steps(24,end) 2.4s both}.proc3.visible .p3-l4{animation:p3type .6s steps(28,end) 3.7s both}@keyframes p3type{0%{opacity:1;clip-path:inset(0 100% 0 0)}99%{opacity:1;clip-path:inset(0 0 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}.proc3 .p3-badge,.proc3 .p3-progress{opacity:0}.proc3.visible .p3-b1{animation:p3pop .4s cubic-bezier(.34,1.56,.64,1) .9s both}.proc3.visible .p3-b2{animation:p3pop .4s cubic-bezier(.34,1.56,.64,1) 2s both}.proc3.visible .p3-b3{animation:p3pop .4s cubic-bezier(.34,1.56,.64,1) 3.1s both}.proc3.visible .p3-b3 .p3-progress-fill{animation:p3fill 1.1s cubic-bezier(.4,0,.2,1) 3.2s both}.proc3.visible .p3-b4{animation:p3pop .4s cubic-bezier(.34,1.56,.64,1) 4.4s both}@keyframes p3pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes p3fill{0%{width:0}to{width:100%}}.proc3 .p3-cursor-line{opacity:0}.proc3.visible .p3-cursor-line{animation:p3show .2s ease 4.8s both}.proc3.visible .p3-cursor{animation:p3blink 1s steps(2,start) 4.8s infinite}@keyframes p3show{0%{opacity:0}to{opacity:1}}@keyframes p3blink{0%,49%{opacity:1}50%,to{opacity:0}}.proc3 .p3-leg{opacity:0}.proc3.visible .p3-leg1{animation:p3rise .5s cubic-bezier(.34,1.56,.64,1) 1s both}.proc3.visible .p3-leg2{animation:p3rise .5s cubic-bezier(.34,1.56,.64,1) 2.1s both}.proc3.visible .p3-leg3{animation:p3rise .5s cubic-bezier(.34,1.56,.64,1) 3.2s both}.proc3.visible .p3-leg4{animation:p3rise .5s cubic-bezier(.34,1.56,.64,1) 4.5s both}@keyframes p3rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ml-phone{width:13rem;padding:10px;border-radius:2rem;background:var(--color-base-light);border:1px solid var(--color-base-border);box-shadow:0 24px 60px var(--color-shadow);transform:rotate(2deg);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.glass-card:hover .ml-phone{transform:rotate(0) translateY(-4px)}.ml-phone-screen{position:relative;border-radius:1.5rem;background:var(--color-base);border:1px solid var(--color-base-border);padding:1.25rem .75rem 1rem}.ml-phone-cam{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:6px;border-radius:9999px;background:var(--color-base-border)}.free30-banner{background:linear-gradient(135deg,var(--color-glass-bg),var(--color-glass-bg-end));backdrop-filter:blur(20px);border:1px solid transparent;background-clip:padding-box;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 40px color-mix(in srgb,var(--color-accent-cyan) 8%,transparent)}.free30-banner:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-pink));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:.7}.free30-banner:hover{transform:translateY(-3px);box-shadow:0 0 60px color-mix(in srgb,var(--color-accent-cyan) 18%,transparent)}.free30-banner:hover:before{opacity:1}
