/* Interaction Overlay Styles */
#drawing-canvas, #page-target-overlay {
    touch-action: none !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

.interaction-zone, .interaction-point, [data-type], .option-btn, .popup-option {
    touch-action: manipulation !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
    cursor: pointer;
}

#page-target-overlay, #drawing-canvas {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none; /* Allow clicks to pass through to the book by default */
    z-index: 100;
}

#drawing-canvas {
    pointer-events: auto; /* Enable drawing on the canvas */
}

/* 42.jpg: örüntü nesneleri sayfa çevirme katmanından önce olay alır. */
.interaction-zone[data-id^="p42_drag_"] {
    pointer-events: auto !important;
    touch-action: none !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

.interaction-zone[data-id^="p42_drop_"] {
    pointer-events: none !important;
}

/* 47.jpg sayı kutuları çizim tuvalinden bağımsız dokunma alanlarıdır. */
.interaction-zone[data-id^="p47_box_"] {
    pointer-events: auto !important;
    touch-action: none !important;
    cursor: pointer !important;
}

/* 13.jpg: Eski özel renk seçenekleri hiçbir durumda gösterilmez. */
#p13-color-palette,
.p13-color-palette-container {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Page 23 hive boxes are completed by painting on the canvas, not by clicking
   the interaction overlay. The overlay remains visible for step highlighting. */
.interaction-zone[data-page="25"][data-type="sequential"] {
    pointer-events: none !important;
}

/* Interaction Points */
.interaction-point {
    position: absolute;
    transform: translate(-50%, -50%); /* Center the point on its coordinates */
    cursor: pointer;
    pointer-events: auto;
    z-index: 101;
}

/* 3.jpg: Hayvanlardan ormana çizgi çekilebilir; alanlar görünmez kalır. */
.interaction-zone[data-page="4"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: auto !important;
    touch-action: none !important;
    cursor: crosshair !important;
}

/* 5.jpg: Ürün ve çanta hedefleri çalışır, fakat işaretler görünmez. */
.interaction-zone[data-page="6"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 6.jpg: Yaprak eşleştirmeleri çalışır, bütün işaretler görünmez. */
.interaction-zone[data-page="7"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 8.jpg: Kontrol bölgeleri görünmez; çizim boya tuvali üzerinden yapılır. */
.interaction-zone[data-page="9"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 9.jpg: Rakam izleme noktaları görünmez. */
.interaction-zone[data-page="10"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 10.jpg: Eşleştirme alanları çalışır, bütün hedef ve bağlantı işaretleri gizlidir. */
.interaction-zone[data-page="11"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 12.jpg: Kalp boyama bölgeleri çalışır ancak işaretlemeler görünmez. */
.interaction-zone[data-page="13"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 13.jpg: Seçim alanları başlangıçta görünmez; seçilen hayvana kırmızı daire eklenir. */
.interaction-zone[data-page="14"][data-type="circle-choice"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    border-radius: 50% !important;
}

.interaction-zone[data-page="14"][data-type="circle-choice"].active {
    border: 4px solid #ef3340 !important;
    background: transparent !important;
}

/* 14.jpg: Boyama bölgeleri görünmez; kullanıcı doğrudan tuvalde boyar. */
.interaction-zone[data-page="15"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 15.jpg: Kutu doğrulama bölgeleri görünmez; serbest çizim engellenmez. */
.interaction-zone[data-page="16"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 15.jpg: Sevilen yiyecek tıklanarak seçilir; seçim otomatik çemberle gösterilir. */
.interaction-zone[data-page="16"][data-type="circle-choice"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    border-radius: 50% !important;
}

.interaction-zone[data-page="16"][data-type="circle-choice"].active {
    border: 4px solid #ef3340 !important;
    background: transparent !important;
}

/* 37.jpg: Su-ağaç eşleştirme alanları çalışır, kutu ve simgeler gizlidir. */
.interaction-zone[data-page="38"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 16.jpg: Eşleştirme alanları çalışır, bütün hedef ve bağlantı işaretleri gizlidir. */
.interaction-zone[data-page="17"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 16.jpg: Sağlıksız yiyecek tıklanarak seçilir; seçim X (çarpı) işaretiyle gösterilir. */
.interaction-zone[data-page="17"][data-type="circle-choice"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

.interaction-zone[data-page="17"][data-type="circle-choice"].active {
    border: none !important;
    background: transparent !important;
}

.interaction-zone[data-page="17"][data-type="circle-choice"].active::before,
.interaction-zone[data-page="17"][data-type="circle-choice"].active::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 6px;
    background-color: #ef3340;
    border-radius: 3px;
}

.interaction-zone[data-page="17"][data-type="circle-choice"].active::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.interaction-zone[data-page="17"][data-type="circle-choice"].active::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* Mobile Orientation Warning */
#orientation-warning {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    color: white;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: Arial, sans-serif;
}

#orientation-warning .icon {
    font-size: 48px;
    margin-bottom: 20px;
    animation: rotate-phone 2s infinite ease-in-out;
}

#orientation-warning .message {
    font-size: 18px;
    padding: 0 20px;
}

@keyframes rotate-phone {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(-90deg); }
    100% { transform: rotate(0deg); }
}

/* Helper to show warning only on mobile portrait */
@media screen and (orientation: portrait) and (max-width: 768px) {
    body.is-mobile #orientation-warning {
        display: flex;
    }
}

/* 17.jpg: Örüntü boyama alanları görünmez; serbest boyama engellenmez. */
.interaction-zone[data-page="18"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 19.jpg: Sivri-küt eşleştirme alanları çalışır, bütün kutu ve işaretler gizlidir. */
.interaction-zone[data-page="20"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

.interaction-zone[data-page="20"][data-type="match"]::before,
.interaction-zone[data-page="20"][data-type="match"]::after {
    display: none !important;
    content: none !important;
}

/* 20.jpg ve 21.jpg: Boyama alanları görünmez; boyama tuvali üzerinden serbestçe boyanır. */
.interaction-zone[data-page="21"][data-type="paint-region"],
.interaction-zone[data-page="22"][data-type="paint-region"],
.interaction-zone[data-page="26"][data-type="paint-region"],
.interaction-zone[data-page="33"][data-type="paint-region"],
.interaction-zone[data-page="36"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 24.jpg: Kelebek eşleştirme alanları çalışır, fakat mavi/kırmızı sınır kutuları görünmez. */
.interaction-zone[data-page="25"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 26.jpg: Yaprak çizgi çalışması kontrol noktaları görünmez. */
.interaction-zone[data-page="27"][data-type="pattern-line"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 28.jpg: Rakam çizgi noktaları ve ağaç boyama alanları görünmez; serbest boyamaya engel olmaz. */
.interaction-zone[data-page="29"][data-type="pattern-line"],
.interaction-zone[data-page="29"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 31.jpg: Sıcak-soğuk eşleştirme alanları çalışır, fakat mavi/kırmızı sınır kutuları görünmez. */
.interaction-zone[data-page="32"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 33.jpg: Sert-yumuşak kutucuk boyama alanları görünmez; serbest boyamaya engel olmaz. */
.interaction-zone[data-page="34"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 34.jpg: Uğur böceği benek ve rakam eşleştirme alanları çalışır, fakat mavi/kırmızı sınır kutuları görünmez. */
.interaction-zone[data-page="35"][data-type="match"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 36.jpg: Ağaç dikme aletlerini ağaca ulaştırma alanları çalışır, fakat tüm sınır kutuları ve alan işaretlemeleri görünmezdir. */
.interaction-zone[data-page="37"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* 36.jpg: Yanlış nesnelere (Makas, Testere, Çekiç) tıklandığında sabit boyutlu kırmızı 'X' işareti */
.interaction-zone[data-page="37"].wrong::before,
.interaction-zone[data-page="37"].wrong::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 54px !important;
    height: 7px !important;
    background-color: #ff1744 !important;
    border-radius: 4px !important;
    box-shadow: 0 0 10px rgba(255, 23, 68, 0.9) !important;
    pointer-events: none !important;
    z-index: 100 !important;
}

.interaction-zone[data-page="37"].wrong::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.interaction-zone[data-page="37"].wrong::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

/* 38.jpg: Uzak-Yakın Kuş İşaretleme (Görünmez alanlar, Daire ve Çarpı Stilleri) */
.interaction-zone[data-page="39"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* En yakın kuşa dokunulduğunda belirgin yeşil dairesel halka (O) */
.interaction-zone[data-page="39"][data-id="p38_bird_closest"].active,
.interaction-zone[data-page="39"].selected-circle {
    border: 6px solid #00e676 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 18px #00e676 !important;
}

/* En uzak kuşa dokunulduğunda belirgin kırmızı 'X' işareti */
.interaction-zone[data-page="39"][data-id="p38_bird_farthest"].active::before,
.interaction-zone[data-page="39"][data-id="p38_bird_farthest"].active::after,
.interaction-zone[data-page="39"].selected-cross::before,
.interaction-zone[data-page="39"].selected-cross::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 60px !important;
    height: 8px !important;
    background-color: #ff1744 !important;
    border-radius: 4px !important;
    box-shadow: 0 0 12px rgba(255, 23, 68, 0.95) !important;
    pointer-events: none !important;
    z-index: 100 !important;
}

.interaction-zone[data-page="39"][data-id="p38_bird_farthest"].active::before,
.interaction-zone[data-page="39"].selected-cross::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.interaction-zone[data-page="39"][data-id="p38_bird_farthest"].active::after,
.interaction-zone[data-page="39"].selected-cross::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

/* 39.jpg: Balon boyama alanları görünmez; boyama tuvalinden serbestçe boyanır. */
.interaction-zone[data-page="40"][data-type="paint-region"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 40.jpg (sayfa indeksi 41): Rakam çizgi birleştirme alanları görünmez; boyama tuvalinden serbestçe çizilir. */
.interaction-zone[data-page="41"][data-type="pattern-line"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 41.jpg (Flipbook index 42): 4'leri Daire (O) İçine Alma */
.interaction-zone[data-page="42"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

.interaction-zone[data-page="42"].active,
.interaction-zone[data-page="42"].selected-circle,
.interaction-zone[data-page="42"][data-id^="p41_four_"].active,
.interaction-zone[data-page="42"][data-id^="p41_num_4_"].active {
    border: 5px solid #00e676 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 16px rgba(0, 230, 118, 0.7) !important;
    background: transparent !important;
}

/* 42.jpg (Flipbook index 43): Örüntü Sürükle-Bırak.
   DİKKAT: Burada "background" kısayolu kullanılmamalı. Kısayol background-image'ı
   da sıfırladığı için, tüm sayfaya uygulanan eski kural sürüklenecek nesnelerin
   görselini de siliyordu; kutular boş görünüyordu. Hedef daireler görünmez kalır,
   sürüklenecek parçalar ise kendi PNG'sini korur. */
.interaction-zone[data-page="43"] {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    touch-action: none !important;
    pointer-events: auto !important;
}

/* Hedef daireler tamamen görünmez; yalnızca bırakma alanı olarak durur. */
.interaction-zone[data-page="43"][data-type="drop"] {
    background-image: none !important;
}

.interaction-zone[data-page="43"].active,
.interaction-zone[data-page="43"][data-is-target="false"].active,
.interaction-zone[data-page="42"][data-id^="p42_"].active {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.interaction-zone[data-page="43"].completed-item_butterfly {
    background-image: url('p42_butterfly.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.interaction-zone[data-page="43"].completed-item_caterpillar {
    background-image: url('p42_caterpillar.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.interaction-zone[data-page="43"].completed-item_cocoon {
    background-image: url('p42_cocoon.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 43.jpg (Flipbook index 44): Labirent ve İtfaiye Daire İçine Alma */
.interaction-zone[data-page="44"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}

.interaction-zone[data-page="44"][data-id="p43_truck_left"].active,
.interaction-zone[data-page="44"][data-id="p43_truck_left"].selected-circle {
    border: 6px solid #00e676 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 20px #00e676 !important;
}

/* 44.jpg (Flipbook index 45): İlişki Kurma (Sorunlar ve Çözümleri Eşleştirme) */
.interaction-zone[data-page="45"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    border-radius: 50% !important;
}

.interaction-zone[data-page="45"].active,
.interaction-zone[data-page="45"].selected {
    border: 4px solid #00e676 !important;
    box-shadow: 0 0 16px #00e676 !important;
}

/* 45.jpg (Flipbook index 46): Sayma - Eşleştirme (Yumurtaları Sayıp Kuşlarla Eşleştirme) */
.interaction-zone[data-page="46"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    border-radius: 50% !important;
}

.interaction-zone[data-page="46"].active,
.interaction-zone[data-page="46"].selected {
    border: 4px solid #00e676 !important;
    box-shadow: 0 0 16px #00e676 !important;
}

/* 46.jpg (Flipbook index 47): Çizgi Çalışması (4 Çizgi Takibi) */
.interaction-zone[data-page="47"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* 47.jpg (Flipbook index 42 ve 48): Az-Çok (Kutucuklara 1-2-3-4 Açılır Menüyle Yazma) */
.interaction-zone[data-id^="p47_box_"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    pointer-events: auto !important;
}

.interaction-zone[data-id^="p47_box_"][data-completed="true"] {
    background: rgba(232, 245, 233, 0.95) !important;
    border: 3px solid #4CAF50 !important;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3) !important;
}

@keyframes popIn {
    0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

.p47-popover-menu {
    z-index: 9999999 !important;
}

.p47-num-btn:hover, .p47-num-btn:active {
    transform: scale(1.18) !important;
    background: #2E7D32 !important;
}

/* 48.jpg (Flipbook index 43 ve 49): Kodlama (Noktaları Birleştirerek Çizgileri Kopyalama) */
.interaction-zone[data-page="49"],
.interaction-zone[data-page="43"][data-id^="p48_"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    pointer-events: none !important;
}

/* son.1.jpg (Flipbook index 50 ve 53): 4 Rakamı Yazma & Çizgileri Tamamlama */
.interaction-zone[data-page="53"],
.interaction-zone[data-page="50"][data-id^="p50_"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
}
