.ph-aurora{will-change:transform, opacity;opacity:.55}html.light .ph-aurora{opacity:.32}:where(html:not(.a11y)) .ph-aurora-a{animation:22s ease-in-out infinite ph-aurora-a}:where(html:not(.a11y)) .ph-aurora-b{animation:26s ease-in-out infinite ph-aurora-b}@keyframes ph-aurora-a{0%,to{opacity:.5;transform:translate(0,0)scale(1)}50%{opacity:.7;transform:translate(6%,4%)scale(1.12)}}@keyframes ph-aurora-b{0%,to{opacity:.42;transform:translate(0,0)scale(1.05)}50%{opacity:.6;transform:translate(-5%,3%)scale(.95)}}:where(html:not(.a11y)) .ph-grid-breathe{will-change:opacity;animation:12s ease-in-out infinite ph-grid-breathe}@keyframes ph-grid-breathe{0%,to{opacity:.4}50%{opacity:.62}}.ph-sheen{position:relative;overflow:hidden}.ph-sheen:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(105deg,#0000 38%,#ffffff1a 50%,#0000 62%);position:absolute;inset:0;transform:translate(-130%)}html.light .ph-sheen:after{background:linear-gradient(105deg, transparent 38%, color-mix(in oklab, var(--fg) 6%, transparent) 50%, transparent 62%)}:where(html:not(.a11y)) .ph-sheen.is-in:after{animation:1.15s cubic-bezier(.22,1,.36,1) .15s ph-sheen}@keyframes ph-sheen{0%{opacity:0;transform:translate(-130%)}12%{opacity:1}to{opacity:0;transform:translate(130%)}}:where(html:not(.a11y)) .ph-lift{will-change:transform;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,border-color .22s}:where(html:not(.a11y)) .ph-lift:hover{transform:translateY(-4px)}:where(html:not(.a11y)) .ph-edge-sweep{animation:7s ease-in-out infinite ph-edge-sweep}@keyframes ph-edge-sweep{0%,to{opacity:.25;transform:translate(-12%)}50%{opacity:.8;transform:translate(12%)}}:where(html:not(.a11y)) .ph-pulse-dot{animation:2.4s ease-in-out infinite ph-pulse-dot}@keyframes ph-pulse-dot{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--brand) 50%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in oklab, var(--brand) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.ph-aurora-a,.ph-aurora-b,.ph-grid-breathe,.ph-sheen.is-in:after,.ph-edge-sweep,.ph-pulse-dot{animation:none!important}.ph-lift{transition:none!important}}@keyframes brand-glow-drift{0%{opacity:.34;transform:translate(-2%)scale(1)}50%{opacity:.5;transform:translate(2%,1.5%)scale(1.06)}to{opacity:.34;transform:translate(-2%)scale(1)}}@keyframes brand-glow-drift-light{0%{opacity:.16;transform:translate(-2%)scale(1)}50%{opacity:.24;transform:translate(2%,1.5%)scale(1.06)}to{opacity:.16;transform:translate(-2%)scale(1)}}:where(html:not(.a11y)) .brand-glow-anim{will-change:transform, opacity;animation:10s ease-in-out infinite brand-glow-drift}:where(html.light) .brand-glow-anim{animation-name:brand-glow-drift-light}html.light .brand-glow-anim{opacity:.18}@media (prefers-reduced-motion:reduce){.brand-glow-anim{animation:none}}@keyframes ls-drift{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14px)rotate(2deg)}}html.a11y [class*=ls-drift]{animation:none!important}@media (prefers-reduced-motion:reduce){.ls-drift,[class*=ls-drift]{animation:none!important}}.iso-drift{will-change:transform}:where(html:not(.a11y)) .iso-drift{animation:14s ease-in-out infinite isoDrift}:where(html:not(.a11y)) .iso-card:nth-child(2) .iso-drift{animation-duration:16s;animation-delay:-4s}:where(html:not(.a11y)) .iso-card:nth-child(3) .iso-drift{animation-duration:18s;animation-delay:-8s}@keyframes isoDrift{0%,to{transform:translate(0,0)}50%{transform:translateY(-6px)}}:where(html:not(.a11y)) .iso-card{will-change:transform;transition:transform .26s cubic-bezier(.22,1,.36,1)}:where(html:not(.a11y)) .iso-card:hover{transform:translateY(-5px)}.iso-frame:after{content:"";pointer-events:none;background:linear-gradient(105deg, transparent 40%, color-mix(in oklab, var(--fg) 8%, transparent) 50%, transparent 60%);opacity:0;position:absolute;inset:0;transform:translate(-130%)}:where(html:not(.a11y)) .iso-shown .iso-frame:after{animation:1.2s cubic-bezier(.22,1,.36,1) .2s isoSheen}@keyframes isoSheen{0%{opacity:0;transform:translate(-130%)}15%{opacity:1}to{opacity:0;transform:translate(130%)}}@media (prefers-reduced-motion:reduce){.iso-drift,.iso-shown .iso-frame:after{animation:none!important}.iso-card{transition:none!important}}:where(html:not(.a11y)) .oet-eq-bar.is-playing{animation:1.1s ease-in-out infinite oet-eq}@keyframes oet-eq{0%,to{transform:scaleY(calc(.5 * var(--eq-amp,1)))}50%{transform:scaleY(calc(1.25 * var(--eq-amp,1)))}}@media (prefers-reduced-motion:reduce){.oet-eq-bar.is-playing{animation:none!important}}