body { font-family: 'Noto Sans JP', sans-serif; background-color: #f8fafc; margin: 0; overflow: hidden; }
        .custom-scrollbar::-webkit-scrollbar { width: 4px; height: 4px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .cursor-grab { cursor: grab; }
        .cursor-grabbing { cursor: grabbing; }
        img { max-width: none !important; user-select: none; -webkit-user-drag: none; }
        .fade-in { animation: fadeIn 0.2s ease-out; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        .sidebar-item { transition: background-color 0.15s, border-color 0.15s; }
        .dragging { opacity: 0.5; transform: scale(0.95); cursor: grabbing; }
        .hover-preview-box {
            position: fixed;
            z-index: 1000;
            pointer-events: none;
            background: white;
            padding: 4px;
            border-radius: 12px;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
            border: 1px solid #e2e8f0;
            overflow: hidden;
            animation: previewPop 0.15s ease-out;
        }
        @keyframes previewPop {
            from { opacity: 0; transform: scale(0.95); }
            to { opacity: 1; transform: scale(1); }
        }
