.ohf-ap{--ohf-ap-line:#ffffff61;--ohf-ap-dim:#ffffff38;--ohf-ap-dot:#fff;--ohf-ap-subject:var(--accent,#c8f04b);background:#0000004d;border-radius:10px;width:100%;display:block;position:relative;overflow:hidden}.ohf-ap[data-size=xs]{border-radius:4px;height:16px}.ohf-ap[data-size=sm]{height:44px}.ohf-ap[data-size=md]{height:76px}.ohf-ap[data-size=lg]{height:108px}.ohf-ap-label{letter-spacing:.02em;color:#fff9;text-shadow:0 1px 4px #000c;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 12px);font-size:10.5px;line-height:1.3;position:absolute;bottom:4px;left:6px;overflow:hidden}.ohf-ap-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ohf-ap-svg{width:100%;height:100%;position:absolute;inset:0}.ohf-ap-guide{fill:none;stroke:var(--ohf-ap-line);stroke-width:1.5px;stroke-dasharray:4 3;stroke-linecap:round}.ohf-ap-guide-parallel{stroke:var(--ohf-ap-dim)}.ohf-ap-ring{fill:none;stroke:var(--ohf-ap-dim);stroke-width:1.2px;stroke-dasharray:3 3}.ohf-ap-subject{fill:none;stroke:var(--ohf-ap-subject);stroke-width:1.6px}.ohf-ap-pivot{fill:var(--ohf-ap-dim)}.ohf-ap-dot{fill:var(--ohf-ap-dot)}.ohf-ap-dot-parallel{fill:var(--ohf-ap-subject)}.ohf-ap-cambody{fill:#ffffff29;stroke:var(--ohf-ap-line);stroke-width:1.4px}.ohf-ap-lens{fill:none;stroke:var(--ohf-ap-dot);stroke-width:1.4px}.ohf-ap-lock circle{fill:#0000008c;stroke:var(--ohf-ap-subject);stroke-width:1.4px}.ohf-ap-lock path{fill:none;stroke:var(--ohf-ap-subject);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.ohf-ap-fxstage{position:absolute;inset:0}.ohf-ap-blob{background:linear-gradient(135deg,#fffffff2,#ffffff59);border-radius:6px;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #ffffff2e}.ohf-ap-pt{opacity:0;background:#ffffffb3;border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;position:absolute;top:50%;left:50%}@keyframes ohf-ap-spin{to{transform:rotate(360deg)}}.ohf-ap[data-fx=spin] .ohf-ap-blob{border-radius:4px 10px;animation:2.4s linear infinite ohf-ap-spin}@keyframes ohf-ap-drift{0%{opacity:0;transform:translateY(-16px)}25%,75%{opacity:1}to{opacity:0;transform:translateY(16px)}}.ohf-ap[data-fx=drift] .ohf-ap-blob{border-radius:50%;animation:3.2s ease-in-out infinite ohf-ap-drift}.ohf-ap[data-fx=scatter] .ohf-ap-pt{opacity:.85}@keyframes ohf-ap-sc1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-22px,-12px)scale(.7)}}@keyframes ohf-ap-sc2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(22px,-10px)scale(1.25)}}@keyframes ohf-ap-sc3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-16px,14px)scale(.8)}}@keyframes ohf-ap-sc4{0%,to{transform:translate(0)scale(1)}50%{transform:translate(18px,12px)scale(.6)}}.ohf-ap[data-fx=scatter] .ohf-ap-pt:nth-of-type(2){animation:2.6s ease-in-out infinite ohf-ap-sc1}.ohf-ap[data-fx=scatter] .ohf-ap-pt:nth-of-type(3){animation:2.6s ease-in-out infinite ohf-ap-sc2}.ohf-ap[data-fx=scatter] .ohf-ap-pt:nth-of-type(4){animation:2.6s ease-in-out infinite ohf-ap-sc3}.ohf-ap[data-fx=scatter] .ohf-ap-pt:nth-of-type(5){animation:2.6s ease-in-out infinite ohf-ap-sc4}.ohf-ap[data-fx=scatter] .ohf-ap-blob{animation:2.6s ease-in-out infinite ohf-ap-breathe}@keyframes ohf-ap-wave{0%,to{transform:translate(-20px)}50%{transform:translate(20px)}}.ohf-ap[data-fx=wave] .ohf-ap-blob{border-radius:50% 50% 50% 8px;animation:2.8s ease-in-out infinite ohf-ap-wave}@keyframes ohf-ap-burst{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.3)}60%,to{opacity:1;transform:scale(1)}}.ohf-ap[data-fx=burst] .ohf-ap-blob{animation:2.4s ease-out infinite ohf-ap-burst}@keyframes ohf-ap-slide{0%{opacity:0;transform:translate(-26px)}20%,80%{opacity:1}to{opacity:0;transform:translate(26px)}}.ohf-ap[data-fx=slide] .ohf-ap-blob{border-radius:4px;animation:2.8s cubic-bezier(.45,0,.25,1) infinite ohf-ap-slide}@keyframes ohf-ap-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-1px)}80%{transform:translate(2px,1px)}}.ohf-ap[data-fx=shake] .ohf-ap-blob{animation:.7s linear infinite ohf-ap-shake}@keyframes ohf-ap-glitch{0%,to{opacity:1;transform:translate(0)}15%{transform:translate(-4px,1px)}30%{opacity:.7;transform:translate(4px,-2px)}45%{transform:translate(-3px,-1px)}60%{opacity:1;transform:translate(3px,2px)}75%{transform:translate(-2px,1px)}}.ohf-ap[data-fx=glitch] .ohf-ap-blob{animation:1.1s steps(6,end) infinite ohf-ap-glitch}@keyframes ohf-ap-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.ohf-ap[data-fx=pulse] .ohf-ap-blob{border-radius:50%;animation:2.2s ease-in-out infinite ohf-ap-pulse}@keyframes ohf-ap-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ohf-ap[data-fx=breathe] .ohf-ap-blob{animation:4s ease-in-out infinite ohf-ap-breathe}.ohf-ap-stylestage{background-size:180% 180%;animation:9s ease-in-out infinite alternate ohf-ap-gradedrift;position:absolute;inset:0}@keyframes ohf-ap-gradedrift{0%{background-position:0 40%}to{background-position:100% 60%}}.ohf-ap-sheen{background:linear-gradient(100deg,#0000 42%,#ffffff47 50%,#0000 58%);animation:3.2s ease-in-out infinite ohf-ap-sheen;position:absolute;inset:-20%}@keyframes ohf-ap-sheen{0%{transform:translate(-60%)}60%,to{transform:translate(60%)}}.ohf-ap-ov{position:absolute;inset:0}.ohf-ap-ov-scanlines{background:repeating-linear-gradient(0deg,#00000047 0 1px,#0000 1px 3px)}.ohf-ap-ov-grain{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}.ohf-ap-ov-vignette{background:radial-gradient(120% 120%,#0000 52%,#0009)}.ohf-ap-ov-flare{background:linear-gradient(#0000 44%,#a0c8ff66 50%,#0000 56%);animation:5s ease-in-out infinite alternate ohf-ap-flaredrift}@keyframes ohf-ap-flaredrift{0%{transform:translateY(-6%)}to{transform:translateY(6%)}}.ohf-ap-ov-flicker{opacity:0;background:#000;animation:1.7s steps(2,end) infinite ohf-ap-flicker}@keyframes ohf-ap-flicker{0%,to{opacity:0}50%{opacity:.14}}.ohf-ap[data-motion=still] .ohf-ap-blob,.ohf-ap[data-motion=still] .ohf-ap-pt,.ohf-ap[data-motion=still] .ohf-ap-sheen,.ohf-ap[data-motion=still] .ohf-ap-stylestage,.ohf-ap[data-motion=still] .ohf-ap-ov-flare,.ohf-ap[data-motion=still] .ohf-ap-ov-flicker{animation:none!important}.ohf-ap[data-motion=still] .ohf-ap-sheen,.ohf-ap[data-motion=still] .ohf-ap-pt{opacity:0}.ohf-ap[data-motion=still][data-fx=scatter] .ohf-ap-pt{opacity:.7}@media (prefers-reduced-motion:reduce){.ohf-ap .ohf-ap-blob,.ohf-ap .ohf-ap-pt,.ohf-ap .ohf-ap-sheen,.ohf-ap .ohf-ap-stylestage,.ohf-ap .ohf-ap-ov-flare,.ohf-ap .ohf-ap-ov-flicker{animation:none!important}.ohf-ap .ohf-ap-sheen{opacity:0}}.fx-card .ohf-ap[data-size=md]{background:0 0;width:72px;height:72px;margin:0 auto}.fx-card[data-tall=true] .ohf-ap[data-size=md]{width:96px;height:96px}.cs-chip .ohf-ap[data-size=xs]{vertical-align:-2px;border-radius:4px;flex:none;width:14px;height:14px;margin-right:6px;display:inline-block}.mo-swatch .ohf-ap{background:0 0;border-radius:0;height:auto;position:absolute;inset:0}.mo-swatch .ohf-ap-label{bottom:6px;left:auto;right:8px}
