/* Сонмик — прокрутка Главной с лентой дня, выбор области фото, облегчённые анимации (14.11). */
/* Главная прокручивается: первый экран как раньше, ниже — лента дня (решение 14.11) */
.home{overflow-y:auto;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}
.home::-webkit-scrollbar{display:none}
.fold{flex:none;min-height:calc(100% - 1.4rem);display:flex;flex-direction:column}
.feed{flex:none;margin:0 1.75rem 2rem}
.feed .tl{margin-top:.6rem}
.feed.fresh .ev{animation:textIn .7s var(--ease-out) both;animation-delay:calc(var(--k,0)*45ms + 150ms)}
/* выбор области фото */
.crop{position:absolute;inset:0;z-index:20;overflow:hidden;background:#0E0C36;opacity:0;transition:opacity .3s var(--ease);touch-action:none}
.crop.open{opacity:1}
.crop-stage{position:absolute;inset:0;cursor:grab}
.crop-img{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;max-width:none}
.crop-ring{position:absolute;border-radius:50%;pointer-events:none;box-shadow:0 0 0 200vmax rgba(14,12,54,.66),inset 0 0 0 2px rgba(255,255,255,.9)}
.crop-hint{position:absolute;left:2rem;right:2rem;top:calc(var(--inset-top) + 2.4rem);text-align:center;color:#fff;font-size:1.45rem;font-weight:500;opacity:.85;pointer-events:none}
.crop-btns{position:absolute;left:1.6rem;right:1.6rem;bottom:max(2rem,calc(var(--inset-bottom) + 1.2rem));display:grid;grid-template-columns:1fr 1.6fr;gap:1rem}
.crop .sbtn.ghost{color:#fff;background:rgba(255,255,255,.14)}
.crop .sbtn.primary{background:linear-gradient(96deg,#6A5FE6,#8B7CF0 45%,#C79EF5)}
/* плавность: под стеклом фон почти не двигается; на других разделах и под шторкой небо стоит на паузе */
.field-glow{animation:none}
.bank svg{animation:none}
.sun-rays::before,.sun-rays::after{animation:none}
.qbtn{-webkit-backdrop-filter:none;backdrop-filter:none}
.app.on-pane .scene *,.app.hush .scene *,.app.on-pane .cta-glow,.app.on-pane .sheen,.app.hush .cta-glow,.app.hush .sheen{animation-play-state:paused!important}
.spark{filter:none}
.spark svg{filter:drop-shadow(0 0 .5rem rgba(255,244,214,.95))}
/* подсказка: как разрешить значок на экране телефона */
.hh-why{font-size:1.45rem;line-height:1.45;color:var(--sh-ink)}
.hh-steps{margin:0;padding:1.2rem 1.4rem 1.2rem 3.4rem;border-radius:2rem;background:var(--sh-field);font-size:1.5rem;line-height:1.4;font-weight:600;color:var(--sh-ink)}
.hh-steps li+li{margin-top:.8rem}
.hh-steps li::marker{color:var(--sh-ink2);font-weight:700}
.hh-note{font-size:1.25rem;line-height:1.4;color:var(--sh-ink2)}
/* барабан даты рождения */
.wheels{position:relative;display:flex;gap:.4rem;height:200px;margin:.6rem 0 .2rem;perspective:600px;
  -webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.wh-band{position:absolute;left:0;right:0;top:80px;height:40px;border-radius:12px;background:var(--sh-chip);pointer-events:none}
.wh{flex:1 1 0;height:200px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.wh.wide{flex:1.7 1 0}
.wh::-webkit-scrollbar{display:none}
.wh-in{padding:80px 0;transform-style:preserve-3d}
.wh-it{height:40px;line-height:40px;text-align:center;scroll-snap-align:center;font-size:2rem;font-weight:700;color:var(--sh-ink);font-variant-numeric:tabular-nums;cursor:pointer;will-change:transform,opacity}
/* поздравление на Главной */
.greet{margin:0 0 1.6rem;padding:1.4rem 1.5rem;border-radius:1.8rem;background:linear-gradient(135deg,rgba(255,196,120,.35),rgba(255,150,170,.28));color:var(--sh-ink,inherit)}
.greet .gh{font-size:1.9rem;font-weight:800;line-height:1.25}
.greet .k{margin-top:.8rem;font-size:1.25rem;font-weight:700;opacity:.8}
.greet ul{margin:.4rem 0 0;padding-left:1.8rem;font-size:1.4rem;line-height:1.45}
.greet p{margin:.6rem 0 0;font-size:1.4rem}
.greet .s{margin-top:.7rem;font-size:1.2rem}
/* заставка при открытии (15.11): луна рисуется линией, буквы «Сонмик» всплывают по одной, звёзды мерцают */
.splash{display:block;padding:0;background:radial-gradient(120% 80% at 50% 30%,#4B4FC4 0%,#2A2C8E 55%,#1C1D63 100%);transition:opacity .6s ease,transform .6s ease}
.splash.out{opacity:0;transform:scale(1.04);pointer-events:none}
.spl{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.sp-moon{width:9rem;height:9rem;overflow:visible}
.sp-moon path{fill:#FFE3A3;fill-opacity:0;stroke:#FFE3A3;stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:160;stroke-dashoffset:160;
  filter:drop-shadow(0 0 .8rem rgba(255,220,150,.55));animation:spDraw .7s cubic-bezier(.6,0,.3,1) forwards,spFill .5s .55s ease forwards,spFloat 3s 1.1s ease-in-out infinite}
.sp-word{display:flex;font-size:5.2rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1}
.sp-word i{font-style:normal;display:inline-block;opacity:0;transform:translateY(1.4rem);filter:blur(.6rem);
  animation:spLetter .55s calc(.15s + var(--i) * .07s) cubic-bezier(.2,.8,.2,1) forwards}
.sp-glow{position:absolute;left:50%;top:50%;width:22rem;height:22rem;margin:-11rem 0 0 -11rem;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(255,214,150,.28),rgba(255,214,150,0) 65%);opacity:0;animation:spGlow 1.6s .4s ease-out forwards}
.sp-st{position:absolute;left:var(--x);top:var(--y);width:.4rem;height:.4rem;border-radius:50%;background:#fff;opacity:0;
  box-shadow:0 0 .6rem #fff;animation:spTwinkle 1.8s var(--d) ease-in-out infinite}
@keyframes spDraw{to{stroke-dashoffset:0}}
@keyframes spFill{to{fill-opacity:1}}
@keyframes spFloat{50%{transform:translateY(-.4rem) rotate(-4deg)}}
@keyframes spLetter{to{opacity:1;transform:none;filter:none}}
@keyframes spGlow{40%{opacity:1}to{opacity:.6}}
@keyframes spTwinkle{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.sp-moon path,.sp-word i,.sp-glow,.sp-st{animation:none;opacity:1;fill-opacity:1;stroke-dashoffset:0;transform:none;filter:none}}
/* «Доброе утро» в ленте дня */
.ev.morning .ti{font-weight:800}
.ev.morning .dot{background:radial-gradient(circle at 40% 35%,#FFE98A,#FFB32E);box-shadow:0 0 0 .3rem rgba(255,190,60,.25)}
/* шторка без подзаголовка */
.sheet-sub:empty{display:none}
