/* OgenEntity: generated light-ribbon artwork with quiet, stateful motion. */
.ogen-entity{--ogen-entity-size:96px;width:var(--ogen-entity-size);aspect-ratio:4/5;display:inline-grid;place-items:center;position:relative;flex:none;isolation:isolate}
.ogen-entity[data-size="xs"]{--ogen-entity-size:34px}.ogen-entity[data-size="sm"]{--ogen-entity-size:52px}.ogen-entity[data-size="md"]{--ogen-entity-size:96px}.ogen-entity[data-size="lg"]{--ogen-entity-size:190px}.ogen-entity[data-size="hero"]{--ogen-entity-size:clamp(230px,28vw,340px)}
.ogen-entity__picture,.ogen-entity__art,.ogen-entity__particles,.ogen-entity__aura,.ogen-entity__warning-ring{position:absolute}.ogen-entity__picture{inset:-3%;z-index:2;transform-origin:50% 56%}.ogen-entity__art{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(22,119,255,.12));transform:translateZ(0);will-change:transform}.ogen-entity__aura{inset:20% 10% 12%;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(39,198,243,.24),rgba(165,180,255,.11) 44%,transparent 72%);filter:blur(18px);transform:translateZ(0)}
.ogen-entity__core{position:absolute;z-index:3;width:2.6%;aspect-ratio:1;inset-inline-start:50.5%;top:52%;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 0 7px 3px rgba(255,255,255,.88),0 0 20px 8px rgba(39,198,243,.45)}.ogen-entity__particles{inset:0;z-index:4;pointer-events:none}.ogen-entity__particle{--particle-x:0%;--particle-y:0%;position:absolute;inset-inline-start:50%;top:50%;width:max(2px,2.1%);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 8px #27c6f3;opacity:0}.ogen-entity__warning-ring{inset:12%;z-index:1;border:1px solid rgba(216,154,32,.58);border-radius:50%;opacity:0;transform:scale(.92)}
.ogen-entity[data-state="idle"] .ogen-entity__picture{animation:ogen-entity-float 7s var(--ogen-ease) infinite}.ogen-entity[data-state="idle"] .ogen-entity__aura{animation:ogen-entity-aura 7s var(--ogen-ease) infinite}@keyframes ogen-entity-float{0%,100%{transform:translate3d(0,0,0) rotate(-.45deg) scale(1)}50%{transform:translate3d(0,-2.5%,0) rotate(.65deg) scale(1.012)}}@keyframes ogen-entity-aura{0%,100%{opacity:.58;transform:scale(.96)}50%{opacity:.95;transform:scale(1.04)}}
.ogen-entity[data-state="listening"] .ogen-entity__picture{transform:scale(1.035)}.ogen-entity[data-state="listening"] .ogen-entity__core{animation:ogen-core-listen 1.7s var(--ogen-ease) infinite}.ogen-entity[data-state="searching"] .ogen-entity__picture{animation:ogen-entity-search 3.2s var(--ogen-ease) infinite}.ogen-entity[data-state="searching"] .ogen-entity__particle{animation:ogen-particle-gather 1.85s var(--ogen-ease) infinite;animation-delay:var(--particle-delay)}.ogen-entity[data-state="searching"] .ogen-entity__core{animation:ogen-core-listen 1.4s var(--ogen-ease) infinite}
@keyframes ogen-entity-search{0%,100%{transform:rotate(-.8deg) scale(1)}50%{transform:rotate(.8deg) scale(1.025)}}@keyframes ogen-particle-gather{0%{opacity:0;transform:translate(var(--particle-x),var(--particle-y)) scale(.3)}25%{opacity:.85}82%{opacity:.15;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(0,0) scale(.2)}}@keyframes ogen-core-listen{0%,100%{opacity:.7;transform:scale(.82)}50%{opacity:1;transform:scale(1.2)}}
.ogen-entity[data-state="found"] .ogen-entity__picture{animation:ogen-entity-found 680ms var(--ogen-ease) 1}.ogen-entity[data-state="found"] .ogen-entity__aura{animation:ogen-entity-found-aura 680ms var(--ogen-ease) 1}@keyframes ogen-entity-found{0%{transform:scale(.98)}44%{transform:scale(1.045)}100%{transform:scale(1)}}@keyframes ogen-entity-found-aura{0%,100%{opacity:.65;transform:scale(.95)}44%{opacity:1;transform:scale(1.08)}}
.ogen-entity[data-state="warning"] .ogen-entity__warning-ring{opacity:1;transform:scale(1);box-shadow:0 0 28px rgba(216,154,32,.14)}.ogen-entity[data-size="xs"] .ogen-entity__core,.ogen-entity[data-size="sm"] .ogen-entity__particles,.ogen-entity[data-size="xs"] .ogen-entity__particles,.ogen-entity[data-size="xs"] .ogen-entity__warning-ring{display:none}
@media(prefers-reduced-motion:reduce){.ogen-entity *{animation:none!important}.ogen-entity[data-state="listening"] .ogen-entity__picture{transform:scale(1.025)}.ogen-entity[data-state="searching"] .ogen-entity__particle{opacity:.55}.ogen-entity[data-state="found"] .ogen-entity__aura{opacity:.9}}
