/* Aden 1.82 | soft-gold / sky-blue / blush | homepage decoration only.
 * All names scoped. No global layout, image, link or animation overrides.
 */
#aden-effects-layer {
    position: fixed;
    top: 62px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 30;
    overflow: hidden;
    pointer-events: none !important;
    user-select: none;
    -webkit-user-select: none;
    contain: layout style paint;
}
#aden-effects-layer *, #aden-effects-layer *::before,
#aden-effects-layer *::after {
    pointer-events: none !important;
    box-sizing: border-box;
}
.aden-fx-particle {
    position: absolute;
    top: -28px;
    left: var(--x);
    width: var(--size);
    height: var(--size);
    opacity: 0;
    animation: aden-fx-fall var(--duration) linear var(--delay) infinite;
}
.aden-fx-particle > i {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    font-style: normal;
    animation: aden-fx-sway 5.8s ease-in-out var(--delay) infinite alternate;
}
.aden-fx-star > i {
    background: #ffe5a3;
    clip-path: polygon(50% 0,62% 35%,100% 50%,62% 63%,50% 100%,37% 63%,0 50%,37% 36%);
    filter: drop-shadow(0 0 3px rgba(255,231,164,.85));
}
.aden-fx-star.aden-fx-blue > i { background: #d3f5ff; }
.aden-fx-petal > i {
    border-radius: 85% 8% 85% 12%;
    background: linear-gradient(135deg, #fff6ee 0%, #ffd5df 48%, #f8a8c2 100%);
    box-shadow: inset 1px 1px 1px rgba(255,255,255,.65);
}
.aden-fx-heart > i { color: #f6b6c8; font-size: var(--size); line-height: 1; text-shadow: 0 0 5px #ffefe7; }
@keyframes aden-fx-fall {
    0% { opacity: 0; transform: translate3d(0,-20px,0); }
    12% { opacity: var(--opacity); }
    83% { opacity: var(--opacity); }
    100% { opacity: 0; transform: translate3d(var(--drift),calc(100vh + 40px),0); }
}
@keyframes aden-fx-sway {
    from { transform: translateX(-9px) rotate(-24deg); }
    to { transform: translateX(9px) rotate(38deg); }
}
.aden-fx-creature {
    position: absolute;
    left: 0;
    bottom: var(--bottom, 14px);
    width: var(--creature-size, 104px);
    height: var(--creature-size, 104px);
    opacity: 0;
    animation: aden-fx-travel var(--travel-duration, 22s) linear both;
}
.aden-fx-character {
    display: block;
    width: 100%;
    height: 100%;
    transform-origin: 50% 90%;
    animation: aden-fx-hop 1.3s ease-in-out infinite;
}
.aden-fx-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border: 0;
    margin: 0;
    filter: drop-shadow(0 3px 3px rgba(72,43,29,.15));
}
.aden-fx-bat .aden-fx-character { animation: aden-fx-flutter .9s ease-in-out infinite alternate; }
.aden-fx-peek { animation-name: aden-fx-peek; }
.aden-fx-peek .aden-fx-character { animation: aden-fx-hop 2.3s ease-in-out infinite; }
.aden-fx-image.aden-fx-react { animation: aden-fx-boop .65s ease-out; }
@keyframes aden-fx-travel {
    0% { opacity: 0; transform: translate3d(var(--from-x),0,0); }
    7%,93% { opacity: .97; }
    100% { opacity: 0; transform: translate3d(var(--to-x),0,0); }
}
@keyframes aden-fx-hop {
    0%,100% { transform: translateY(0) scale(1.015,.975); }
    50% { transform: translateY(-9px) scale(.99,1.01); }
}
@keyframes aden-fx-flutter {
    from { transform: translateY(-6px) rotate(-6deg) scaleX(.96); }
    to { transform: translateY(5px) rotate(5deg) scaleX(1.03); }
}
@keyframes aden-fx-peek {
    0%,100% { opacity: 0; transform: translate3d(var(--from-x),50px,0) rotate(-12deg); }
    16%,80% { opacity: .97; transform: translate3d(var(--to-x),0,0) rotate(0); }
}
@keyframes aden-fx-boop {
    0%,100% { transform: translateY(0) scale(1); }
    40% { transform: translateY(-19px) scale(1.06,.94) rotate(4deg); }
    70% { transform: translateY(-3px) scale(.97,1.03); }
}
.aden-fx-burst {
    position: absolute;
    color: #ffcc7c;
    font: bold 17px/1 Arial,sans-serif;
    text-shadow: 0 1px 3px #fff5d9;
    animation: aden-fx-burst .8s ease-out both;
}
.aden-fx-burst:nth-child(2n) { color: #f5a4bf; }
@keyframes aden-fx-burst {
    from { opacity: .95; transform: translate(0,0) scale(.55); }
    to { opacity: 0; transform: translate(var(--burst-x),var(--burst-y)) scale(1.15) rotate(20deg); }
}
/* A mask keeps the sweep inside the logo, never a rectangular white flash. */
@supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
    #hd .deanlogo a.aden-fx-logo::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(110deg,transparent 35%,rgba(255,249,213,.7) 48%,rgba(255,255,255,.75) 50%,transparent 64%);
        background-size: 320% 100%;
        -webkit-mask-image: var(--aden-logo-mask);
        mask-image: var(--aden-logo-mask);
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        animation: aden-fx-logo-shine 12s ease-in-out infinite;
    }
}
@keyframes aden-fx-logo-shine {
    0%,72% { opacity: 0; background-position: 140% 0; }
    76% { opacity: .7; }
    89% { opacity: .7; background-position: -45% 0; }
    92%,100% { opacity: 0; background-position: -45% 0; }
}
#aden-effects-toggle {
    position: fixed;
    right: 17px;
    bottom: 17px;
    bottom: calc(17px + env(safe-area-inset-bottom, 0px));
    z-index: 40;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    border: 1px solid #ddbd82;
    border-radius: 50%;
    background: rgba(255,249,232,.94);
    color: #886036;
    font: 24px/1 Arial,sans-serif;
    box-shadow: 0 2px 9px rgba(73,48,23,.14);
    cursor: pointer;
    touch-action: manipulation;
    transition: background .18s ease;
}
#aden-effects-toggle:hover { background: #fff4d6; }
#aden-effects-toggle:focus-visible { outline: 3px solid #76bddd; outline-offset: 3px; }
#aden-effects-toggle[aria-pressed="false"] { color: #84929b; background: rgba(243,246,248,.94); border-color: #bbc5c9; }
#aden-effects-toggle:disabled { cursor: default; opacity: .7; }
#aden-effects-toggle[hidden] { display: none !important; }
@media (max-width: 767px), (pointer: coarse) {
    #aden-effects-toggle { width: 36px; height: 36px; right: 12px; font-size: 22px; }
    .aden-fx-creature, .aden-fx-burst { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    #aden-effects-layer { display: none !important; }
    #hd .deanlogo a.aden-fx-logo::after { display: none !important; animation: none !important; }
    #aden-effects-toggle { transition: none; }
}
@media print {
    #aden-effects-layer, #aden-effects-toggle, #hd .deanlogo a.aden-fx-logo::after { display: none !important; }
}
