@view-transition { navigation: auto; }
::view-transition-old(root) { animation: up-page-out 160ms ease-out both; }
::view-transition-new(root) { animation: up-page-in 300ms cubic-bezier(.22,1,.36,1) both; }
@keyframes up-page-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes up-page-in { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) {
    @view-transition { navigation: none; }
    ::view-transition-group(*) { animation: none !important; }
}

@property --up-border-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
:is(.uh-card,.uh-api,.uh-closing-panel,.uh-campaign figure, .uh-visual-frame, .uh-photo, .rw-portrait-frame,.unity-app main .glass){position:relative}
:is(.uh-card,.uh-api,.uh-closing-panel,.uh-campaign figure, .uh-visual-frame, .uh-photo, .rw-portrait-frame,.unity-app main .glass)::before{
    content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:1;
    background:conic-gradient(from var(--up-border-angle),transparent 0% 65%,#d9ba7c55 78%,#f8e5b9 86%,#d9ba7c55 93%,transparent 100%);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
    opacity:0;transition:opacity .4s ease;
}
@media(prefers-reduced-motion:no-preference){
    :is(.uh-card,.uh-api,.uh-closing-panel,.uh-campaign figure, .uh-visual-frame, .uh-photo, .rw-portrait-frame,.unity-app main .glass).up-in-view::before{
        opacity:.7;animation:up-border-orbit 7s linear infinite,up-border-breathe 4s ease-in-out infinite;
    }
    :is(.uh-card,.uh-api,.uh-closing-panel,.uh-campaign figure, .uh-visual-frame, .uh-photo, .rw-portrait-frame,.unity-app main .glass):nth-child(even)::before{animation-delay:-3s,-1s}
    .unity-app main{animation:up-page-in .45s cubic-bezier(.22,1,.36,1) both}
    :is(.uh-visual-frame,.uh-photo,.uh-campaign figure) img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
    :is(.uh-btn,.hero-btn,button:not(:disabled)){transition:transform .2s ease,filter .2s ease,box-shadow .25s ease}
    :is(.uh-btn,.hero-btn,button:not(:disabled)):active{transform:scale(.97)!important}
    .uh-faq details[open] p{animation:up-page-in .3s ease-out both}
    @media(hover:hover){
        :is(.uh-card,.uh-api,.uh-campaign figure){transition:transform .35s ease,box-shadow .35s ease}
        :is(.uh-card,.uh-api,.uh-campaign figure):hover{transform:translateY(-5px);box-shadow:0 14px 40px -24px #d9ba7c55}
        :is(.uh-visual-frame,.uh-photo,.uh-campaign figure):hover img{transform:scale(1.035)}
        :is(.uh-btn,.hero-btn):hover{box-shadow:0 8px 28px -12px #d9ba7c99}
    }
}
@keyframes up-border-orbit{to{--up-border-angle:360deg}}
@keyframes up-border-breathe{0%,100%{opacity:.35}50%{opacity:.85}}
@media(prefers-reduced-motion:reduce){
    :is(.uh-card,.uh-api,.uh-closing-panel,.uh-campaign figure, .uh-visual-frame, .uh-photo, .rw-portrait-frame,.unity-app main .glass)::before{animation:none!important;opacity:0;transition:none}
}
