/* Küçük keyifler: boş durum çizimleri, konfeti, karşılama turu (js/delight.js). Hareketler yalnızca transform/opacity. */
.ch-body .ch-illu-wrap { display: block; margin: 0 auto 6px; line-height: 0; }
.ch-body .ch-illu { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.ch-body .acc-empty .ch-illu-wrap, .ch-body .dm-empty .ch-illu-wrap, .ch-body .empty-state .ch-illu-wrap { margin-bottom: 10px; }
.ch-body .dm-list__empty .ch-illu { width: 96px; }

/* Konfeti */
.ch-confetti { position: fixed; inset: 0; z-index: 9999; overflow: hidden; pointer-events: none; }
.ch-confetti i { position: absolute; top: -16px; left: var(--x); width: 9px; height: 15px; border-radius: 2px; background: var(--c); border: 1px solid #0d0f12; opacity: 0; animation: ch-fall var(--d) cubic-bezier(.2, .6, .35, 1) var(--w) forwards; will-change: transform, opacity; }
@keyframes ch-fall {
    0% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg); }
    85% { opacity: 1; }
    100% { opacity: 0; transform: translate3d(var(--dx), 105vh, 0) rotate(var(--r)); }
}

/* Küçük "pop" vurgusu (rozet, işaret) */
.ch-body .ch-pop { animation: ch-pop .5s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes ch-pop { 0% { transform: scale(.6); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }

/* Karşılama turu: gerçek öğeyi aydınlatan vurgu + yanında açıklama kartı */
.ch-spot-shield { position: fixed; inset: 0; z-index: 10000; background: transparent; }
.ch-spot { position: fixed; z-index: 10001; border: 3px solid var(--ch-citron); border-radius: 14px; box-shadow: 0 0 0 9999px rgba(13, 15, 18, .62); pointer-events: none; transition: left .22s ease, top .22s ease, width .22s ease, height .22s ease; }
.ch-spot-card { position: fixed; z-index: 10002; width: min(360px, calc(100vw - 24px)); padding: 18px 18px 14px; border: 2px solid var(--ch-hard-ink); border-radius: 18px; background: #fff; color: var(--ch-hard-ink); box-shadow: 4px 4px 0 var(--ch-hard-ink); }
.ch-spot-card.is-center { left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(400px, calc(100vw - 24px)); text-align: center; }
.ch-spot-card.is-sheet { left: 0; right: 0; bottom: 0; top: auto; width: 100%; border-width: 2px 0 0; border-radius: 20px 20px 0 0; box-shadow: none; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
.ch-spot-card.is-sheet.is-top { top: 0; bottom: auto; border-width: 0 0 2px; border-radius: 0 0 20px 20px; padding: calc(16px + env(safe-area-inset-top)) 18px 14px; }
.ch-spot-card__count { margin-bottom: 6px; font-family: var(--ch-mono); font-size: .68rem; font-weight: 800; letter-spacing: .08em; color: var(--ch-muted); }
.ch-spot-card h2 { margin: 0 0 6px; font-size: 1.1rem; font-weight: 900; }
.ch-spot-card p { margin: 0 0 14px; color: var(--ch-muted); font-size: .92rem; line-height: 1.5; }
.ch-spot-card__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.ch-spot-card.is-center .ch-spot-card__actions { justify-content: center; }
@media (prefers-reduced-motion: reduce) {
    .ch-spot { transition: none; }
    .ch-confetti { display: none; }
    .ch-body .ch-pop { animation: none; }
}

/* Mobil uygulama (Capacitor kabuğu) içinde: tarayıcıya özgü kurulum ve push arayüzleri gizlenir, dokunma hissi iyileştirilir. */
html.ch-native { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; }
html.ch-native .ch-install, html.ch-native [data-pwa-install], html.ch-native #pushCard, html.ch-native .st-item[href="/BilgiSayfalari/Uygulama"] { display: none !important; }
html.ch-native img { -webkit-user-drag: none; }
html.ch-native, html.ch-native body { overscroll-behavior-y: none; }
