.programs-demo{max-width:340px;transition:opacity .34s var(--ease-perfery);margin:0 auto;position:relative}.programs-demo.is-resetting{opacity:0}.pd-card{background:var(--color-bg-surface);border:2px solid var(--color-charcoal);box-shadow:5px 5px 0 var(--color-charcoal);padding:15px 17px 16px}.pd-head{border-bottom:1px solid color-mix(in srgb, var(--color-charcoal) 18%, transparent);flex-direction:column;gap:3px;margin-bottom:11px;padding-bottom:11px;display:flex}.pd-eyebrow{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-size:.58rem;font-weight:700}.pd-title{font-family:var(--font-hero);color:var(--color-charcoal);font-size:1.2rem;font-style:italic;font-weight:600;line-height:1.1}.pd-count{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:7px;font-size:.56rem;font-weight:700;display:block}.pd-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.pd-row{background:var(--color-bg-page);border:1.5px solid var(--color-charcoal);animation:pd-rise .4s var(--ease-perfery) both;grid-template-columns:28px 1fr auto;align-items:center;column-gap:10px;padding:5px 8px 5px 6px;display:grid;position:relative}.pd-row.is-new:after{content:"";background:var(--color-accent);width:3px;animation:pd-edge .7s var(--ease-perfery) both;position:absolute;top:-1.5px;bottom:-1.5px;left:-1.5px}.pd-po{object-fit:cover;border:1.5px solid var(--color-charcoal);width:28px;height:42px;display:block}.pd-t{font-family:var(--font-sans);color:var(--color-charcoal);font-size:.8rem;font-weight:600;line-height:1.12}.pd-y{font-family:var(--font-sans);color:var(--color-ink-muted);font-size:.72rem}.pd-hint{font-family:var(--font-sans);color:var(--color-ink-muted);animation:pd-rise .36s var(--ease-perfery) both;margin:10px 0 0;font-size:.72rem;line-height:1.4}.pd-hint span{color:var(--color-accent);font-weight:700}.pd-recs{border-top:1px dashed color-mix(in srgb, var(--color-charcoal) 30%, transparent);animation:pd-rise .42s var(--ease-perfery) both;margin-top:13px;padding-top:12px}.pd-recs-h{flex-direction:column;gap:1px;margin-bottom:10px;display:flex}.pd-recs-t{font-family:var(--font-sans);letter-spacing:.03em;color:var(--color-accent);font-size:.72rem;font-weight:700}.pd-recs-s{font-family:var(--font-hero);color:var(--color-ink-muted);font-size:.8rem;font-style:italic}.pd-recs-body{min-height:136px}.pd-recs-loading{min-height:136px;font-family:var(--font-hero);color:var(--color-ink-muted);align-items:center;font-size:.82rem;font-style:italic;display:flex}.pd-recs-loading:before{content:"";background:var(--color-accent);width:7px;height:7px;animation:pd-pulse .9s var(--ease-perfery) infinite;border-radius:50%;margin-right:9px}.pd-recs-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pd-rec{background:var(--color-bg-page);border:1.5px solid var(--color-charcoal);animation:pd-rise .42s var(--ease-perfery) both;animation-delay:calc(var(--i) * 90ms);flex-direction:column;gap:5px;padding:6px 6px 7px;display:flex;position:relative}.pd-rec-po{object-fit:cover;border:1.5px solid var(--color-charcoal);width:100%;height:96px;display:block}.pd-rec-t{font-family:var(--font-sans);color:var(--color-charcoal);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.6rem;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.pd-rec-add{background:var(--color-accent);width:22px;height:22px;color:var(--color-bg-surface);border:1.5px solid var(--color-charcoal);font-family:var(--font-sans);box-shadow:1.5px 1.5px 0 var(--color-charcoal);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-8px;right:-8px}.pd-rec.is-tapped{box-shadow:0 0 0 2px var(--color-accent)}.pd-rec.is-tapped .pd-rec-add{animation:pd-pop .55s var(--ease-perfery)}@keyframes pd-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pd-pop{0%{transform:scale(1)}45%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes pd-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes pd-edge{0%{opacity:0}30%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.programs-demo{transition:none}.pd-row,.pd-row.is-new:after,.pd-hint,.pd-recs,.pd-rec,.pd-rec.is-tapped .pd-rec-add,.pd-recs-loading:before{animation:none}}
