/* ダンスフォーメーション作成ツール - スタイル */

.formation-marker {
    transition: all 0.2s ease;
}

.formation-marker:hover {
    transform: scale(1.1);
}

#stageCanvas {
    transition: cursor 0.2s ease;
    /* スマホでダンサーをドラッグしているとき、指の動きがページの
       スクロールとして扱われてしまわないようにする */
    touch-action: none;
}

.modal-overlay {
    backdrop-filter: blur(4px);
}

/* カスタムスクロールバー */
.formations-list::-webkit-scrollbar {
    width: 6px;
}

.formations-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.formations-list::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.formations-list::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* ドラッグ中のカーソル */
.dragging {
    cursor: grabbing !important;
}

/* アニメーション */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

.fade-in {
    animation: fadeIn 0.3s ease-out;
}

.slide-up {
    animation: slideUp 0.3s ease-out;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .main-area {
        flex-direction: column;
    }
    
    .sidebar {
        width: 100%;
        max-height: 300px;
    }
    
    #stageCanvas {
        max-width: 100%;
        height: auto;
    }
}