/* Праздничные пасхалки (ui_core/holiday-eggs.js): значок на логотипе, слой анимации, поздравление.
   Слой анимации не ловит нажатий и выключен при «уменьшении движения». Общий для app-api.html и mobile.html. */
.hegg-host{position:relative}
.hegg-badge{position:absolute;top:-10px;right:-12px;z-index:2;width:26px;height:26px;padding:0;border:0;background:none;font-size:20px;line-height:26px;text-align:center;cursor:pointer;filter:drop-shadow(0 1px 1.5px rgba(15,23,42,.35));transform-origin:50% 85%;animation:hegg-wobble 6s ease-in-out infinite;transition:scale .15s ease}
.hegg-badge:hover,.hegg-badge:focus-visible{scale:1.25;animation-play-state:paused}
.hegg-badge:focus-visible{outline:2px solid #2563EB;outline-offset:2px;border-radius:6px}
.hegg-badge.hegg-hint{animation:hegg-hop .9s ease-in-out 6}
.hegg-badge-star{color:#DC2626;font-size:22px}
.hegg-badge-flag::before{content:'';display:block;width:18px;height:13px;margin:6px auto 0;border-radius:2px;background:linear-gradient(#fff 0 33.4%,#0039A6 0 66.7%,#D52B1E 0);box-shadow:0 0 0 1px rgba(15,23,42,.2)}
@keyframes hegg-wobble{0%,84%,100%{transform:rotate(0)}88%{transform:rotate(-14deg)}92%{transform:rotate(12deg)}96%{transform:rotate(-6deg)}}
@keyframes hegg-hop{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-7px) rotate(-10deg)}60%{transform:translateY(0) rotate(8deg)}}

.hegg-card{position:fixed;z-index:960;width:300px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:14px 16px 12px;background:#fff;color:#0F172A;border-radius:14px;border-top:4px solid var(--hegg-accent,#16A34A);box-shadow:0 18px 44px rgba(15,23,42,.24);font-family:inherit;font-size:14px;line-height:1.45;animation:hegg-pop .2s ease-out}
.hegg-card-title{display:flex;align-items:center;gap:8px;margin:0 24px 6px 0;font-size:16px;font-weight:700}
.hegg-card-icon{font-size:20px;line-height:1}
.hegg-card-icon.hegg-badge-flag::before{margin:0}
.hegg-card-text{color:#334155;min-height:40px}
.hegg-card-acts{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.hegg-more{padding:6px 12px;border:1px solid #E2E8F0;border-radius:8px;background:#F8FAFC;color:#0F172A;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.hegg-more:hover{background:#F1F5F9;border-color:#CBD5E1}
.hegg-hide{padding:0;border:0;background:none;color:#64748B;font:inherit;font-size:12px;cursor:pointer}
.hegg-hide:hover{color:#0F172A;text-decoration:underline}
.hegg-close{position:absolute;top:8px;right:8px;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:none;color:#94A3B8;font-size:14px;cursor:pointer}
.hegg-close:hover{background:#F1F5F9;color:#0F172A}
@keyframes hegg-pop{from{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}

.hegg-layer{position:fixed;inset:0;z-index:950;overflow:hidden;pointer-events:none}
.hegg-layer *{pointer-events:none}
.hegg-fall{position:absolute;top:-40px;left:var(--x);font-size:var(--size,18px);line-height:1;opacity:0;animation:hegg-fall var(--dur) linear var(--delay) forwards;will-change:transform}
.hegg-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}
.hegg-bit{width:7px;height:11px;border-radius:1.5px;box-shadow:0 0 0 .5px rgba(15,23,42,.15)}
@keyframes hegg-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}6%{opacity:.95}50%{transform:translate(var(--drift),55vh) rotate(calc(var(--rot) / 2))}90%{opacity:.9}100%{opacity:0;transform:translate(0,calc(100vh + 80px)) rotate(var(--rot))}}

.hegg-fly{position:absolute;left:0;top:var(--y);font-size:var(--size);line-height:1;opacity:0;animation:hegg-fly var(--dur) ease-in-out var(--delay) forwards}
.hegg-fly.hegg-rtl{animation-direction:reverse;animation-fill-mode:backwards}
.hegg-flap{display:inline-block;animation:hegg-flap .2s ease-in-out infinite alternate}
@keyframes hegg-fly{0%{opacity:0;transform:translate(-60px,0)}8%{opacity:1}25%{transform:translate(24vw,var(--bob))}50%{transform:translate(50vw,calc(var(--bob) * -1))}75%{transform:translate(76vw,var(--bob))}92%{opacity:1}100%{opacity:0;transform:translate(calc(100vw + 60px),0)}}
@keyframes hegg-flap{from{transform:scaleY(1)}to{transform:scaleY(.55)}}

.hegg-spider{position:absolute;top:0;left:var(--x);display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;animation:hegg-sway 3s ease-in-out infinite alternate}
.hegg-thread{display:block;width:1px;height:0;background:linear-gradient(rgba(100,116,139,.25),rgba(71,85,105,.8));animation:hegg-thread 9s ease-in-out forwards}
.hegg-spider-body{font-size:32px;line-height:1;margin-top:-4px;animation:hegg-spider-fade 9s linear forwards}
@keyframes hegg-thread{0%{height:0}22%{height:170px}34%{height:150px}46%{height:172px}74%{height:165px}100%{height:0}}
@keyframes hegg-spider-fade{0%,92%{opacity:1}100%{opacity:0}}
@keyframes hegg-sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}

.hegg-rocket{position:absolute;left:-70px;bottom:-70px;font-size:44px;line-height:1;animation:hegg-rocket 5s cubic-bezier(.45,0,.55,1) .2s forwards}
@keyframes hegg-rocket{0%{transform:translate(0,0)}100%{transform:translate(calc(100vw + 140px),calc(-100vh - 140px))}}
.hegg-twinkle{position:absolute;color:#FACC15;font-size:14px;opacity:0;animation:hegg-twinkle 1.6s ease-in-out var(--delay) 2}
@keyframes hegg-twinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.2)}}

.hegg-spark{position:absolute;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;opacity:0;box-shadow:0 0 6px currentColor;animation:hegg-spark 1.5s ease-out var(--delay) forwards}
@keyframes hegg-spark{0%{opacity:1;transform:translate(0,0) scale(1)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 30px)) scale(.4)}}

.hegg-burst{position:absolute;margin:-10px 0 0 -10px;font-size:var(--size,20px);line-height:1;animation:hegg-burst 1.1s cubic-bezier(.15,.7,.3,1) forwards}
.hegg-burst.hegg-bit{margin:-5px 0 0 -3px}
@keyframes hegg-burst{0%{opacity:1;transform:translate(0,0) scale(.4) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1) rotate(var(--rot))}}

@media (prefers-reduced-motion: reduce){
  .hegg-badge,.hegg-badge.hegg-hint,.hegg-card{animation:none}
  .hegg-layer{display:none}
}
