/* Волшебный слой: звёзды, свет, 3D, шанырак, конфетти */
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:var(--o);transform:scale(1) rotate(90deg)}}
@keyframes drift{from{transform:translate(-8%,-6%) scale(1)}to{transform:translate(10%,8%) scale(1.25)}}
@keyframes track{from{letter-spacing:.25em;opacity:0;filter:blur(10px)}}
@keyframes grow{from{transform:scaleY(0)}}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes spin-r{to{transform:rotate(-360deg)}}
.star{position:fixed;z-index:1000;pointer-events:none;color:#c9965f;line-height:1;animation:twinkle var(--t) ease-in-out var(--d) infinite;opacity:0}
.cursor-glow{position:fixed;left:0;top:0;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:radial-gradient(circle,#e9c49a44,transparent 65%);pointer-events:none;z-index:999}
.trail{position:fixed;z-index:1002;pointer-events:none;color:#c9965f;line-height:1}
.aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.aurora i{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;filter:blur(70px);opacity:.5;animation:drift 18s ease-in-out infinite alternate}
.aurora i:nth-child(1){left:-10%;top:-20%;background:#f8d6c3}.aurora i:nth-child(2){right:-12%;bottom:-25%;background:#f2dcae;animation-delay:-7s}.aurora i:nth-child(3){left:35%;top:30%;width:35%;background:#fff3e2;opacity:.7;animation-delay:-12s}
.hero-mandala{translate:-50% calc(-50% + var(--py,0px))}
.intro-rays{position:absolute;width:170vmax;height:170vmax;background:repeating-conic-gradient(#fff7e866 0 6deg,transparent 6deg 18deg);-webkit-mask-image:radial-gradient(circle,#000,transparent 55%);mask-image:radial-gradient(circle,#000,transparent 55%);animation:spin 70s linear infinite;pointer-events:none}
.intro-screen.fly .intro-rays{opacity:0;transition:opacity .8s}
.hero h1.track,.subpage-hero h1.track{animation:track 1.7s cubic-bezier(.2,.7,.2,1) both}
.subpage-ornament{animation:float-y 5s ease-in-out infinite}
.tilt{transition:transform .25s ease-out,box-shadow .35s;transform-style:preserve-3d}
.shanyrak{position:absolute;width:78%;max-width:340px;aspect-ratio:1;opacity:.5;animation:spin-r 90s linear infinite;pointer-events:none}
.venue-art .shanyrak{z-index:0}.venue-ornament{position:relative;z-index:1}
.ripple{position:absolute;left:0;top:0;width:260px;height:260px;border-radius:50%;background:#ffffff66;transform:translate(-50%,-50%) scale(0);animation:ripple .7s ease-out forwards;pointer-events:none}
.footer-garden{position:absolute;left:0;right:0;bottom:calc(100% - 12px);display:flex;justify-content:space-around;align-items:flex-end;padding:0 3%;height:100px;pointer-events:none;z-index:2}
.footer-garden .g{height:var(--h);transform-origin:50% 100%;animation:grow 1.4s cubic-bezier(.2,.8,.2,1) var(--gd) both;animation-play-state:paused}
.footer-garden.up .g{animation-play-state:running}
.footer-garden svg{height:100%;width:auto;display:block;transform-origin:50% 100%;animation:sway-t 5s ease-in-out infinite alternate}
.footer-garden .g:nth-child(even) svg{animation-delay:-2.2s;--r:5deg}.footer-garden .g:nth-child(odd) svg{--r:-5deg}
@media(max-width:650px){.footer-garden{height:70px}.footer-garden .g:nth-child(n+6){display:none}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){.star,.aurora i{display:none}.hero h1.track,.subpage-hero h1.track{animation:none}}
/* Мобильные: крупные зоны нажатия и спокойнее фон */
@media(max-width:650px){
.main-nav a{padding:14px 2px}
.lang-button{min-width:44px;min-height:44px;padding:12px}
.home-link-row a,.text-link{display:inline-block;padding:13px 4px}
.text-link{margin-top:6px}
.radio-option{padding:9px 0;font-size:14px}.radio-option input{width:20px;height:20px}
.hero-mandala{opacity:.1}
.wordmark{padding:6px 0}
}
@media(max-width:650px){.feature-card a{display:inline-block;padding:12px 4px;margin-left:-4px}}
/* Музыка */
@keyframes eq{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
@keyframes ping{0%{box-shadow:0 0 0 0 #b98a6180}100%{box-shadow:0 0 0 16px #b98a6100}}
.music-btn{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:1003;width:48px;height:48px;border-radius:50%;border:1px solid #c9a583;background:#fff7ecd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:0;box-shadow:0 6px 18px #8d664426;-webkit-tap-highlight-color:transparent}
.music-btn i{display:block;width:3px;height:18px;border-radius:2px;background:#a87952;transform:scaleY(.25);transform-origin:50% 50%}
.music-btn.on i{animation:eq 1s ease-in-out infinite}.music-btn.on i:nth-child(2){animation-delay:-.4s}.music-btn.on i:nth-child(3){animation-delay:-.7s}.music-btn.on i:nth-child(4){animation-delay:-.2s}
.music-btn.wait{animation:ping 1.8s ease-out infinite}
.music-hint{position:fixed;left:max(72px,calc(env(safe-area-inset-left) + 72px));bottom:max(27px,calc(env(safe-area-inset-bottom) + 27px));z-index:1003;padding:7px 13px;border-radius:20px;background:#fff7ecee;border:1px solid #dfc5aa;color:#7c5d43;font-size:11px;letter-spacing:.04em;pointer-events:none;opacity:0;transition:opacity .5s}
.music-hint.show{opacity:1}
@media(prefers-reduced-motion:reduce){.music-btn.on i{animation:none;transform:scaleY(.8)}.music-btn.wait{animation:none}}
